MySQL 中的約束條件是一項非常重要的特性,可以保證數(shù)據(jù)的完整性和一致性。其中,非空約束是一種常用的約束條件,可以防止在插入或更新數(shù)據(jù)時出現(xiàn)空值。
CREATE TABLE student ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT NOT NULL, gender VARCHAR(10) NOT NULL );
以上代碼創(chuàng)建了一個名為student
的表,其中包含四個字段:id、name、age 和 gender。其中,name、age 和 gender 都設(shè)置了非空約束,這意味著在插入或更新數(shù)據(jù)時,必須為這些字段指定值。
如果在插入數(shù)據(jù)時未為非空字段指定值,MySQL 將返回錯誤并拒絕該操作。
INSERT INTO student (name, age, gender) VALUES ('Tom', 18, 'male'); INSERT INTO student (name, age, gender) VALUES ('Jerry', NULL, 'male'); -- 會報錯
以上代碼中,第一條 INSERT 語句成功插入了一條數(shù)據(jù),為所有非空字段指定了值。而第二條 INSERT 語句省略了 age 字段的值,因此會返回錯誤。
總之,非空約束是一種非常有用的約束條件,可以加強數(shù)據(jù)的完整性和一致性。在設(shè)計數(shù)據(jù)庫時,建議為所有非空字段設(shè)置非空約束。