MySQL中的默認值約束是指,在創建表時,為表中的某些列設置默認值,當向表中插入新的數據行時,如果沒有為該列賦值,那么該列的默認值就會生效。
在MySQL中,可以用DEFAULT關鍵字來為表中的某些列設置默認值。例如,以下是一張名為“students”的學生信息表的創建語句:
CREATE TABLE students ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, gender CHAR(1) NOT NULL DEFAULT 'M', age INT(11) NOT NULL DEFAULT 18, PRIMARY KEY (id) );
在這個表中,gender和age兩個列都設置了默認值。gender列默認值為'M',即男性,age列默認值為18歲。如果在插入一條新數據時,沒有為這兩個列賦值,那么它們就會按照默認值的定義進行賦值。
需要注意的是,當為某個列設置了默認值時,試圖為該列賦值NULL是無效的。例如,以下代碼是錯誤的:
INSERT INTO students (name, gender, age) VALUES ('張三', NULL, 20);
如果想要為該列賦值NULL,則需要在表的定義中去掉該列的默認值定義。