MySQL添加斷言是一種有效的方法,可以保證數據的完整性和一致性。斷言可以用于驗證表中的行和列是否符合規定的條件,如果不符合,則會返回錯誤。
CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT NOT NULL, score DECIMAL(3,1) NOT NULL CHECK(score >= 0 AND score<= 100) );
如上所示,使用CHECK語句添加斷言,保證分數score在0到100范圍內。
在使用INSERT語句插入數據時,如果分數不符合規定,則會返回錯誤,數據不會被插入。
INSERT INTO student(name, age, score) VALUES('Tom', 18, 110); -- ERROR 3819 (HY000): Check constraint 'student_chk_1' is violated.
可以使用SHOW CREATE TABLE語句查看表結構,包括斷言。
SHOW CREATE TABLE student; /* CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(11) NOT NULL, `score` decimal(3,1) NOT NULL, PRIMARY KEY (`id`), CONSTRAINT `student_chk_1` CHECK ((`score` >= 0) AND (`score`<= 100)) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci */
除了使用CHECK語句添加斷言外,MySQL還提供了其他幾種斷言方式,包括FOREIGN KEY、UNIQUE、NOT NULL等,可以根據具體需求選擇合適的方法。
下一篇css 生成工具