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

สตริงว่าง (Empty String) ในคอลัมน์ NOT NULL ใน MySQL


ใน PHP สตริงว่างเท่ากับ NULL แต่ใน MySQL สตริงว่างไม่เท่ากับ NULL สามารถ INSERT สตริงว่างเข้าไปในคอลัมน์ NOT NULL ได้

ตัวอย่างการใช้งาน

สร้างตารางคอลัมน์ Name เป็น NOT NULL:

mysql> CREATE TABLE EmptyStringNotNullDemo ( Id INT NOT NULL AUTO_INCREMENT, Name VARCHAR(10) NOT NULL, PRIMARY KEY(Id) ); Query OK, 0 rows affected (0.83 sec)

INSERT ข้อมูล (รวมสตริงว่าง):

mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES('John'); 
mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES(''); 
mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES('Carol'); 
mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES(''); 
mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES(''); 
mysql> INSERT INTO EmptyStringNotNullDemo(Name) VALUES('Larry');

แสดงข้อมูล:

+----+-------+ | Id | Name  | +----+-------+ | 1  | John  | | 2  |       | | 3  | Carol | | 4  |       | | 5  |       | | 6  | Larry | +----+-------+ 6 rows in set (0.00 sec)

ตรวจสอบว่าสตริงว่างเป็น NULL หรือไม่:

mysql> SELECT Name, Name IS NULL AS EmptyValueIsNotNULL FROM EmptyStringNotNullDemo;

ผลลัพธ์ (ทั้งหมดเป็น 0 = ไม่ใช่ NULL):

+-------+---------------------+ | Name  | EmptyValueIsNotNULL | +-------+---------------------+ | John  | 0                   | |       | 0                   | | Carol | 0                   | |       | 0                   | |       | 0                   | | Larry | 0                   | +-------+---------------------+

ใช้ User-defined Variable อัปเดตเป็นสตริงว่าง:

mysql> SET @emptyStringValue = ''; 
mysql> UPDATE EmptyStringNotNullDemo SET Name = @emptyStringValue;