ใน PHP สตริงว่างจะเท่ากับค่า NULL แต่ใน MySQL ตัวพิมพ์จะแตกต่างกัน กล่าวคือ สตริงว่างไม่เท่ากับค่า NULL เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างคอลัมน์ที่มีข้อจำกัด NOT NULL ในขณะที่คุณสามารถแทรกสตริงว่างได้
ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง EmptyStringNotNullDemo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(10) ไม่ใช่ null, -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (0.83 วินาที)
ตอนนี้คุณสามารถแทรกบางระเบียนในตารางเพื่อตรวจสอบว่าสตริงว่างเป็นค่าว่างหรือไม่เป็นค่าว่าง แบบสอบถามเพื่อแทรกบันทึกมีดังนี้ -
mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) ('John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.43 sec)mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที )mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) (''); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า EmptyStringNotNullDemo (ชื่อ) ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก EmptyStringNotNullDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | || 3 | แครอล || 4 | || 5 | || 6 | Larry |+----+-------+6 แถวในชุด (0.00 วินาที)ตอนนี้ตรวจสอบว่าสตริงว่างเป็น NULL หรือ NOT NULL ใน MySQL หากคุณได้ 0 แสดงว่าสตริงว่างไม่เท่ากับ NULL มิฉะนั้น สตริงว่างจะเป็น NULL แบบสอบถามมีดังนี้ −
mysql> เลือกชื่อ ชื่อเป็น NULL เป็น EmptyValueIsNotNULL จาก EmptyStringNotNullDemo
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-------+---------------------+| ชื่อ | EmptyValueIsNotNULL |+-------+---------------------+| จอห์น | 0 || | 0 || แครอล | 0 || | 0 || | 0 || แลร์รี่ | 0 |+-------+---------------------+6 แถวในชุด (0.00 วินาที)คุณสามารถบรรลุได้ด้วยความช่วยเหลือของตัวแปรที่ผู้ใช้กำหนด ไวยากรณ์มีดังนี้ −
SET @anyVariableName=” ”;UPDATE yourTableName SET yourColumnName=@anyVariableName;
ใช้ไวยากรณ์ข้างต้นสำหรับตารางที่กำหนด แบบสอบถามมีดังต่อไปนี้เพื่อประกาศและกำหนดตัวแปรผู้ใช้
mysql> set @emptyStringValue="";Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)
อัปเดตตารางด้วยสตริงว่าง แบบสอบถามมีดังนี้ −
mysql> อัปเดต EmptyStringNotNullDemo set Name=@emptyStringValue;Query OK, 3 แถวได้รับผลกระทบ (0.25 วินาที) แถวที่ตรงกัน:6 เปลี่ยน:3 คำเตือน:0
แสดงบันทึกทั้งหมดจากตารางอีกครั้ง แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก EmptyStringNotNullDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---+------+| รหัส | ชื่อ |+----+------+| 1 | || 2 | || 3 | || 4 | || 5 | || 6 | |+----+------+6 แถวในชุด (0.00 วินาที)อัปเดตคอลัมน์ "ชื่อ" แล้ว