我正在为一个大学项目创建一个数据库。我的数据库中有几个带有检查条件的表,但是它们似乎没有作用。我正在使用MySQL。
我查阅了我发现的所有资源,就语法和检查的使用而言,在我看来一切都是正确的。
这是在我的数据库中检查不成功的示例:
CREATE TABLE IF NOT EXISTS coltraneShop.Product (
`Product code` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`Category` CHAR(9) NOT NULL CHECK(`Category`='DVD' OR `Category`='Album' OR `Category`='Comics' OR `Category`='Book' OR `Category`='Videogame'),
`Title` VARCHAR(50) NOT NULL,
`Quantity` INT(3) UNSIGNED NOT NULL,
`Year of publication` INT(4) UNSIGNED NOT NULL,
`Price` DECIMAL(6,2) UNSIGNED NOT NULL,
`Shipment's name` CHAR(13) NOT NULL
);
例如,如果我尝试插入具有“ hello”类别的产品,则该产品会被接受并插入数据库中,但是此操作会产生错误。
非常感谢!