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

แทรกค่าเริ่มต้นลงในคอลัมน์ไม่ว่างหากค่าเป็นโมฆะใน MySQL?


คุณสามารถใช้คุณสมบัติ IFNULL() หรือ IF() อย่างง่ายพร้อมคุณสมบัติ IS NULL ไวยากรณ์มีดังนี้ −

INSERT INTO yourTableName(yourColumnName1,yourColumnName2)VALUES('yourValue'',IF(yourColumnName1 IS NULL,DEFAULT(yourColumnName2),'yourMessage'));

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตารางโพสต์ -> ( -> รหัส int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก -> ชื่อผู้ใช้ varchar (10) -> UserPostMessage varchar (50) ไม่ใช่ค่าเริ่มต้น 'สวัสดีตอนเช้า !!!' -> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.67 วินาที)

ตอนนี้คุณสามารถแทรกค่าดีฟอลต์ลงในคอลัมน์ที่ไม่ใช่ค่าว่างได้หากค่าเป็นค่าว่าง แบบสอบถามมีดังนี้ −

mysql> แทรกลงใน Post(UserName,UserPostMessage) -> values('John',if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงใน Post(UserName,UserPostMessage) -> ค่า (NULL,if(UserName IS NULL,DEFAULT(UserPostMessage),'Hello'));Query OK, 1 แถวได้รับผลกระทบ (0.22 วินาที)mysql> แทรกลงใน Post (ชื่อผู้ใช้, UserPostMessage ) -> ค่า ('Carol',if(ชื่อผู้ใช้ IS NULL,DEFAULT(UserPostMessage),'Hello'));ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)

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

mysql> เลือก *จากโพสต์;

ต่อไปนี้เป็นผลลัพธ์ -

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