Eolaire Eolaire
Bunachar sonraí MySQL saor in aisce,Conas ceisteanna faoi luach neamhnithe a láimhseáil?MySQL nach ráiteas roghnaíoch ar neamhní é
Láimhseáil neamhnithe i MySQL
Tá a fhios againn cheana féin go n-úsáideann MySQL an t-ordú SQL SELECT agus an clásal WHERE chun na sonraí sa tábla sonraí a léamh, ach nuair is NULLComment an réimse coinníoll ceiste a sholáthraítear, seans nach n-oibreoidh an t-ordú i gceart.
Chun an cás seo a láimhseáil, soláthraíonn MySQL trí phríomhoibreoirí:
- IS NULLACH:Filleann an t-oibreoir seo fíor nuair is NULLComment luach an cholúin.
- NÍL NÍL:Filleann an t-oibreoir fíor nuair nach bhfuil luach an cholúin NULLComment.
- <=>: Filleann an t-oibreoir comparáide (murab ionann agus an t-oibreoir =) fíor nuair a bhíonn an dá luach i gcomparáid le NULL.
Tá oibríochtaí comparáide coinníollach ar NULL speisialta.Ní féidir leat = NULLComment nó ! Aimsíonn =NULL luachanna NULL sa cholún.
I MySQL, déantar comparáid idir luach NULL le haon luach eile (fiú NULLComment) i gcónaí bréagach, .i. NULLComment = Filleann NULLComment bréagach.
Déantar NULL a láimhseáil i MySQL ag baint úsáide as na hoibreoirí IS NULL agus NÍL NULL.
Úsáid luach NULL i ordú leid
Sa sampla seo a leanas, tá an tábla chenweiliang_test_tbl sa bhunachar sonraí chenweiliang socraithe chun dhá cholún a bheith ann, chenweiliang_author agus chenweiliang_count, agus socraítear luachanna NULL a chur isteach i chenweiliang_count.
sampla
Bain triail as na samplaí seo a leanas:
Cruthaigh tábla sonraí chenweiliang_test_tbl
root @ host #mysql -u root -p password; 输入密码:******* mysql > 使用chenweiliang ; 数据库改变了mysql > create table chenweiliang_test_tbl - > ( - > chenweiliang_author varchar (40 )NOT NULL , - > chenweiliang_count INT - > ); 查询OK ,0 行受影响(0.05 秒)mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' chenweiliang ' ,20 ); mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' 陈沩亮博客' ,NULL ); mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values ( ' Google ' ,NULL ); mysql > INSERT INTO chenweiliang_test_tbl (chenweiliang_author ,chenweiliang_count )values (' FK ' ,20 ); mysql > SELECT * from chenweiliang_test_tbl ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | chenweiliang | 20 | | 陈沩亮博客| NULL | | Google | NULL | | FK | 20 | + --------------- + -------------- + 4 行中集合(0.01 秒)
Sa sampla seo a leanas is féidir leat a fheiceáil = agus ! Ní oibríonn an = oibreoir:
mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count = NULL ; 空集(0.00 秒)mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count != NULL ; 空集(0.01 秒)
Chun a fháil amach an bhfuil an colún chenweiliang_test_tbl sa tábla sonraí NULL, ní mór duit é a úsáidIS NULL和NÍ NUA, an sampla seo a leanas:
mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count IS NULL ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | 陈沩亮博客| NULL | | Google | NULL | + --------------- + -------------- + 2 行中的组(0.01 秒)的MySQL > SELECT * 从chenweiliang_test_tbl WHERE chenweiliang_count IS NOT 空值 ; + --------------- + -------------- + | chenweiliang_author | chenweiliang_count | + --------------- + -------------- + | chenweiliang | 20 | | FK | 20 | + --------------- + -------------- + 2 行中的组(0.01 秒)
Láimhseáil luachanna NULL le script PHP
Sa script PHP, is féidir leat an ráiteas más...eile a úsáid chun an athróg folamh a phróiseáil agus ráiteas coinníollach comhfhreagrach a ghiniúint.
Sa sampla seo a leanas socraíonn PHP an athróg $chenweiliang_count agus ansin úsáideann sé an athróg sin chun comparáid a dhéanamh leis an réimse chenweiliang_count sa tábla sonraí:
MySQL ORDÚ DE RÉIR tástála:
<? php $ dbhost = ' localhost:3306 ' ; // mysql服务器主机地址 $ dbuser = ' root ' ; // mysql用户名 $ dbpass = ' 123456 ' ; // mysql用户名密码 $ conn = mysqli_connect ($ dbhost ,$ dbuser ,$ dbpass ); 如果(!$ conn ){ die (' 连接失败:' 。mysqli_error ($ conn )); } // 设置编码,防止中文乱码 mysqli_query ($ conn ,“ set names utf8 ” ); if (isset ($ chenweiliang_count )){ $ sql = “ SELECT chenweiliang_author,chenweiliang_count FROM chenweiliang_test_tbl WHER chenweiliang_count = $ chenweiliang_count ” ; } else { $ sql = “ SELECT chenweiliang_author,chenweiliang_count FROM chenweiliang_test_tbl WHER chenweiliang_count IS NULL ” ; } mysqli_select_db ($ conn ,' chenweiliang ' ); $ retval = mysqli_query ($ conn ,$ sql ); if (!$ retval ){ die (' 无法读取数据:' 。mysqli_error ($ conn )); } echo ' <h2>陈沩亮博客IS NULL测试<h2> ' ; echo ' <table border =“1”> <tr> <td>作者</ td> <td>登陆次数</ td> </ tr> ' ; $ retval ,MYSQL_ASSOC )){ echo “ <tr> ” 。 “ <td> {$ row ['chenweiliang_author']} </ td> ” 。 “ <td> {$ row ['chenweiliang_count']} </ td> ” 。 “ </ tr> ” ; } echo ' </ table> ' ; mysqli_close ($ conn ); ?>
Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) shared” Conas a láimhseálann bunachar sonraí MySQL fiosruithe luach neamh-null? Ní ráiteas roghnaithe ar neamhní é MySQL” chun cabhrú leat.
Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-491.html
Fáilte chuig cainéal Telegram de bhlag Chen Weiliang chun na nuashonruithe is déanaí a fháil!
📚 Tá luach ollmhór sa treoir seo, 🌟 Seo deis annamh, ná caill é! ⏰⌛💨
Roinnigí agus más maith libh!
Is iad do chomhroinnt agus do thaitin ár spreagadh leanúnach!