DEFAULT
คือค่าที่จะถูกแทรกในกรณีที่ไม่มีค่าที่ชัดเจนในคำสั่ง insert / update สมมติว่า DDL ของคุณไม่มีNOT NULL
ข้อ จำกัด :
ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT 'MyDefault'
จากนั้นคุณสามารถออกแถลงการณ์เหล่านี้ได้
INSERT INTO tbl (A, B) VALUES (NULL, NULL);
INSERT INTO tbl (A, B, col) VALUES (NULL, NULL, DEFAULT);
INSERT INTO tbl (A, B, col) DEFAULT VALUES;
INSERT INTO tbl (A, B, col) VALUES (NULL, NULL, NULL);
หรือคุณสามารถใช้DEFAULT
ในUPDATE
คำสั่งตามมาตรฐานSQL-1992 :
UPDATE tbl SET col = DEFAULT;
UPDATE tbl SET col = NULL;
หมายเหตุฐานข้อมูลบางส่วนไม่รองรับไวยากรณ์มาตรฐาน SQL ทั้งหมดเหล่านี้ การเพิ่มNOT NULL
ข้อ จำกัด จะทำให้เกิดข้อผิดพลาดกับคำสั่ง4, 6
ในขณะที่1-3, 5
ยังเป็นคำสั่งที่ถูกต้อง ดังนั้นเพื่อตอบคำถามของคุณ: ไม่มันไม่ซ้ำซ้อน