在使用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.
因此,在實際使用中,可以通過該約束條件保證數據的完整性和一致性。
上一篇mysql 快照鎖