色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 不為空和默認(rèn)值

錢多多2年前12瀏覽0評論

MySQL 是一種流行的關(guān)系型數(shù)據(jù)庫,常常被用于管理和存儲大量數(shù)據(jù)。在 MySQL 中,可以為某些列添加NOT NULL約束,這強(qiáng)制這些列不能包含NULL值。同時(shí),還可以為某些列設(shè)置默認(rèn)值。

CREATE TABLE example_table (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
date_added DATE NOT NULL DEFAULT CURRENT_DATE
);

在上面的示例中,namedate_added列都被設(shè)置為NOT NULL,表示這兩列不能包含NULL值。同時(shí),date_added列被設(shè)置了一個(gè)默認(rèn)值為當(dāng)前日期。

當(dāng)插入新的行時(shí),如果沒有顯式地為namedate_added列指定一個(gè)值,則會使用這些列的默認(rèn)值。

INSERT INTO example_table (id, name) VALUES (1, 'John');

在上面的示例中,沒有為date_added列指定一個(gè)值,因此將使用當(dāng)前日期作為默認(rèn)值插入行。

如果嘗試插入具有任何NULL值的行,則會失敗,因?yàn)檫@違反了NOT NULL約束。

INSERT INTO example_table (id, name, date_added) VALUES (2, 'Doe', NULL);

在上面的示例中,因?yàn)樵?code>date_added列中提供了一個(gè)NULL值,因此插入失敗。

可以使用ALTER TABLE命令更改表的結(jié)構(gòu),以添加或刪除約束和默認(rèn)值。

ALTER TABLE example_table MODIFY COLUMN name VARCHAR(50) DEFAULT 'Unknown';
ALTER TABLE example_table MODIFY COLUMN date_added DATE;
ALTER TABLE example_table MODIFY COLUMN id INT AUTO_INCREMENT;

在上面的示例中,name列的默認(rèn)值被更改為'Unknown'date_added列的默認(rèn)值被刪除。id列被設(shè)置為自動增量列。

在 MySQL 中,使用NOT NULL和默認(rèn)值可以確保數(shù)據(jù)的完整性和一致性。這些約束可以防止意外插入空值或錯(cuò)誤類型的值。