在使用MySQL建表时,经常有需要限制某个字段的取值范围的情况。其中,限制某个字段为年龄大于零是一种常见需求。
CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`age` tinyint UNSIGNED NOT NULL CHECK(age > 0),PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
以上代码展示了如何在建表时限制年龄大于零。其中,关键字CHECK
用于添加约束条件,age > 0
表示年龄必须大于零。
如果在插入数据时,年龄小于等于零,则会提示以下错误:
ERROR 3819 (HY000): Check constraint 'user_chk_1' is violated.
因此,在实际使用中,可以通过该约束条件保证数据的完整性和一致性。