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

เพิ่มคอลัมน์ NOT NULL ใน MySQL (ตอนสร้างตารางและตารางมีอยู่แล้ว)

สามารถกำหนด NOT NULL ได้ทั้งตอนสร้างตารางใหม่และตารางที่มีอยู่แล้ว

กรณี 1: ตอน CREATE TABLE

CREATE TABLE yourTableName (
    yourColumnName1 dataType NOT NULL,
    yourColumnName2 dataType,
    ...
);

ตัวอย่าง:

mysql> CREATE TABLE NotNullAtCreationOfTable (Id INT NOT NULL, Name VARCHAR(100));
mysql> INSERT INTO NotNullAtCreationOfTable VALUES (NULL, 'John'); -- ERROR 1048
mysql> INSERT INTO NotNullAtCreationOfTable VALUES (1, 'Carol'); -- OK

กรณี 2: เพิ่มในตารางที่มีอยู่ (ALTER TABLE)

ALTER TABLE yourTableName ADD yourColumnName dataType NOT NULL;

ตัวอย่าง:

mysql> CREATE TABLE AddNotNull (Id INT, Name VARCHAR(100));
mysql> ALTER TABLE AddNotNull ADD Age INT NOT NULL;
mysql> DESC AddNotNull; -- Age แสดง Null = NO

ทดสอบ:

mysql> INSERT INTO AddNotNull VALUES (1, 'John', NULL); -- ERROR 1048
mysql> INSERT INTO AddNotNull VALUES (NULL, NULL, 23); -- OK

ข้อควรระวัง: การ ADD COLUMN NOT NULL ในตารางที่มีข้อมูลอยู่แล้ว จะล้มเหลวถ้ามีแถวเก่าที่ไม่ได้ระบุค่า (ยกเว้นจะมี DEFAULT)