gpt4 book ai didi

php - 当我尝试在表中添加检查约束时,没有任何变化

转载 作者:行者123 更新时间:2023-11-29 12:39:44 25 4
gpt4 key购买 nike

我正在尝试在表中添加检查约束,以防止在行总和 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

请检查这个并指导我在这里做什么。

谢谢。

最佳答案

MySQL 不支持检查约束——它们会被忽略。

但是您可以使用 BEFORE INSERTBEFORE UPDATE 触发器来实现此类功能。

There is good explanation

关于php - 当我尝试在表中添加检查约束时,没有任何变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26292714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com