MySQL 非空約束是一種數據庫約束,可以在表中的某個列上設置非空值的限制。當啟用了非空約束時,該列上不允許插入 NULL 值,否則會出現錯誤。
CREATE TABLE example ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL );
上面的代碼創建了一個名為 "example" 的表,其中包含兩個列,id 和 name。對于 name 列,它被設置為非空,因此在插入數據時必須提供一個值。如果沒有提供值,將會收到一個錯誤。
INSERT INTO example (id) VALUES (1);
上面的代碼嘗試向例子表中插入一個 id 值為 1 的行,但沒有提供 name 值。由于 name 列上有非空約束,因此會收到以下錯誤:
ERROR 1048 (23000): Column 'name' cannot be null
如果想在已存在的列上設置非空約束,可以使用 ALTER TABLE 語句來更改列:
ALTER TABLE example MODIFY COLUMN name VARCHAR(50) NOT NULL;
上面的代碼將 name 列修改為非空。如果該列中已經存在 NULL 值,將會出現錯誤。為了解決這個問題,可以在修改之前更新 NULL 值:
UPDATE example SET name = 'Unknown' WHERE name IS NULL;
MySQL 非空約束可以幫助保證表中的數據完整性和一致性,防止插入空值,確保數據質量。
上一篇css物流快遞單樣式
下一篇css片段 做圖