Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะตรวจสอบได้อย่างไรว่าค่าคอลัมน์เป็น NULL หรือมีค่า DEFAULT ใน MySQL?


คุณสามารถใช้แนวคิดของ IFNULL() สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก ชื่อ varchar (100) ค่าเริ่มต้น 'Larry' อายุ int DEFAULT NULL) ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.73 วินาที)

แทรกระเบียนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(Name,Age) ('John',23);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable (); Query OK, 1 แถวได้รับผลกระทบ (0.34 วินาที )mysql> แทรกลงในค่า DemoTable (ชื่อ) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable (อายุ) (24); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) 

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 1 | จอห์น | 23 || 2 | แลร์รี่ | NULL || 3 | เดวิด | NULL || 4 | แลร์รี่ | 24 |+----+-------+------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบว่าค่าคอลัมน์เป็น NULL หรือมีค่าเริ่มต้นใน MySQL

mysql> เลือก *จาก DemoTable โดยที่ IFNULL(ชื่อ, ค่าเริ่มต้น (ชื่อ)) <> DEFAULT(ชื่อ);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+------+| รหัส | ชื่อ | อายุ |+----+-------+------+| 1 | จอห์น | 23 || 3 | เดวิด | NULL |+----+-------+------+2 แถวในชุด (0.00 วินาที)