Conas a láimhseálann bunachar sonraí MySQL fiosrúcháin luach neamh-nallach? Ní ráiteas roghnaithe ar neamhní é MySQL

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 NULLNÍ 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!

🔔 Bí ar an gcéad duine a gheobhaidh an "Treoir Úsáide Uirlisí AI Margaíochta Ábhair ChatGPT" luachmhar san eolaire barr na gcainéal! 🌟
📚 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!

 

发表 评论

Ní fhoilseofar do sheoladh ríomhphoist. Úsáidtear réimsí riachtanacha * Lipéad

scrollaigh go dtí an barr