តើមូលដ្ឋានទិន្នន័យ MySQL ដោះស្រាយសំណួរតម្លៃដែលមិនមែនជាមោឃៈយ៉ាងដូចម្តេច? MySQL មិនមែនជាសេចក្តីថ្លែងការណ៍ជ្រើសរើស null ទេ។

មូលដ្ឋានទិន្នន័យ MySQLតើធ្វើដូចម្តេចដើម្បីដោះស្រាយសំណួរតម្លៃដែលមិនមែនជាមោឃៈ?MySQL មិន​មែន​ជា​សេចក្តី​ថ្លែងការណ៍​ជ្រើសរើស​ទទេ

ការចាត់ចែង Null នៅក្នុង MySQL

យើងដឹងរួចហើយថា MySQL ប្រើពាក្យបញ្ជា SQL SELECT និងឃ្លា WHERE ដើម្បីអានទិន្នន័យក្នុងតារាងទិន្នន័យ ប៉ុន្តែនៅពេលដែលវាលលក្ខខណ្ឌសំណួរដែលបានផ្តល់គឺ NULL ពាក្យបញ្ជាអាចមិនដំណើរការត្រឹមត្រូវ។

ដើម្បីដោះស្រាយស្ថានភាពនេះ MySQL ផ្តល់នូវប្រតិបត្តិករសំខាន់ៗចំនួនបី៖

  • ទទេ៖ប្រតិបត្តិករនេះត្រឡប់ពិតនៅពេលដែលតម្លៃជួរឈរគឺ NULL ។
  • មិនមែនជា NULL៖ប្រតិបត្តិករត្រឡប់ពិតនៅពេលដែលតម្លៃជួរឈរមិនមែនជា NULL ។
  • <=>៖  ប្រតិបត្តិករ​ប្រៀបធៀប (មិន​ដូច​សញ្ញា​ប្រមាណវិធី =) ត្រឡប់​ពិត​នៅ​ពេល​តម្លៃ​ពីរ​ដែល​បាន​ប្រៀបធៀប​គឺ NULL ។

ប្រតិបត្តិការប្រៀបធៀបតាមលក្ខខណ្ឌនៅលើ NULL គឺពិសេស។អ្នកមិនអាចប្រើ = NULL ឬ ! =NULL រក​ឃើញ​តម្លៃ NULL ក្នុង​ជួរ​ឈរ ។

នៅក្នុង MySQL ការប្រៀបធៀបតម្លៃ NULL ជាមួយតម្លៃផ្សេងទៀត (សូម្បីតែ NULL) តែងតែត្រឡប់មិនពិត ពោលគឺ NULL = NULL ត្រឡប់មិនពិត។

NULL ត្រូវបានគ្រប់គ្រងនៅក្នុង MySQL ដោយប្រើ IS NULL និងមិនមែនជា NULL operators ។


ប្រើតម្លៃ NULL ក្នុងប្រអប់បញ្ចូលពាក្យបញ្ជា

ក្នុងឧទាហរណ៍ខាងក្រោម តារាង chenweiliang_test_tbl ក្នុងមូលដ្ឋានទិន្នន័យ chenweiliang ត្រូវបានកំណត់ឱ្យមានជួរឈរពីរ chenweiliang_author និង chenweiliang_count ហើយតម្លៃ NULL ត្រូវបានកំណត់ឱ្យបញ្ចូលក្នុង chenweiliang_count ។

វត្ថុ

សាកល្បងឧទាហរណ៍ខាងក្រោម៖

បង្កើតតារាងទិន្នន័យ 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 秒) 

ក្នុងឧទាហរណ៍ខាងក្រោម អ្នកអាចមើលឃើញ = និង ! ប្រតិបត្តិករ = មិនដំណើរការទេ៖

mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count = NULL ;
空集(0.00 秒)mysql > SELECT * FROM chenweiliang_test_tbl WHERE chenweiliang_count != NULL ;
空集(0.01 秒)

ដើម្បីរកមើលថាតើជួរឈរ chenweiliang_test_tbl នៅក្នុងតារាងទិន្នន័យគឺ NULL អ្នកត្រូវតែប្រើIS NULL和។មិនមែនជា NULL, ឧទាហរណ៍ខាងក្រោម៖

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 秒) 

ការដោះស្រាយតម្លៃ NULL ជាមួយស្គ្រីប PHP

នៅក្នុងស្គ្រីប PHP អ្នកអាចប្រើ if...else statement ដើម្បីដំណើរការថាតើ variable ទទេរ ហើយបង្កើតនូវ conditional statement ដែលត្រូវគ្នា។

ក្នុងឧទាហរណ៍ខាងក្រោម PHP កំណត់អថេរ $chenweiliang_count ហើយបន្ទាប់មកប្រើអថេរនោះដើម្បីប្រៀបធៀបជាមួយវាល chenweiliang_count ក្នុងតារាងទិន្នន័យ៖

ការបញ្ជាទិញ MySQL ដោយការសាកល្បង៖

<?
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 );
?>

 

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "តើមូលដ្ឋានទិន្នន័យ MySQL ដោះស្រាយសំណួរតម្លៃដែលមិនមែនជាមោឃៈយ៉ាងដូចម្តេច? MySQL មិន​មែន​ជា null select statement" ដើម្បី​ជួយ​អ្នក​ទេ។

សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-491.html

សូមស្វាគមន៍មកកាន់ឆានែល Telegram នៃប្លុករបស់ Chen Weiliang ដើម្បីទទួលបានព័ត៌មានថ្មីៗចុងក្រោយបង្អស់!

🔔 ក្លាយជាអ្នកដំបូងដែលទទួលបាន "ការណែនាំអំពីការប្រើប្រាស់ឧបករណ៍ AI ទីផ្សារមាតិកា ChatGPT" ដ៏មានតម្លៃនៅក្នុងបញ្ជីកំពូលរបស់ប៉ុស្តិ៍! 🌟
📚 មគ្គុទ្ទេសក៍នេះមានតម្លៃមហាសាល 🌟នេះជាឱកាសដ៏កម្រ សូមកុំអូសរំលង! ⏰⌛💨
Share និង Like ប្រសិនបើអ្នកចូលចិត្ត!
ការចែករំលែក និងការចូលចិត្តរបស់អ្នកគឺជាការលើកទឹកចិត្តបន្តរបស់យើង!

 

发表评论។

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ 必填项已用។ * 标注។

រំកិលទៅកំពូល