我正在尝试在我的表中添加检查约束,如果行shop_id
的总和大于3,则会阻止向表中添加更多数据。我编写了以下代码,但它只是不起作用。请检查并指导我。
ALTER TABLE kinect_temp_data
ADD CONSTRAINT my_const CHECK (sum(distinct(shop_id))<3)
上面的查询运行成功,但它没有创建任何效果,我仍然可以添加更多行,当我查询它时,它显示没有添加检查约束。
SHOW CREATE TABLE kinect_temp_data
输出
CREATE TABLE `kinect_temp_data` (
`cart_number` int(11) NOT NULL AUTO_INCREMENT,
`product_id` varchar(50) NOT NULL,
`shop_id` varchar(50) NOT NULL,
`product_name` varchar(50) NOT NULL,
`item_number` varchar(50) NOT NULL,
`image1_path` varchar(50) NOT NULL,
`image2_path` varchar(50) NOT NULL,
`image3_path` varchar(50) NOT NULL,
`price` int(11) NOT NULL,
PRIMARY KEY (`cart_number`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1
请检查一下,并指导我在这里干什么。
感谢。
答案 0 :(得分:1)