สามารถกำหนด 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)