MySQL在重复密钥更新上
|
它只允许我更新,导致总共2
这是我的桌子
CREATE TABLE `cart` (
`id` int(7) NOT NULL AUTO_INCREMENT,
`User` int(7) DEFAULT NULL,
`Product` varchar(100) DEFAULT NULL,
`Quantity` int(7) DEFAULT NULL,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `Quantity` (`Quantity`)
)
然后,我插入数据的代码是:
$a = \'1\'
query2 = \" INSERT INTO CART(User, Product,Quantity)
VALUES
(\'$id\',\'$model_number\',\'$a\')
ON DUPLICATE KEY UPDATE Quantity=Quantity+1\";
当我将数据添加到数据库时,它将起作用,但是,在我第二次尝试时,出现此错误:
Duplicate entry \'2\' for key \'Quantity\'
没有找到相关结果
已邀请:
1 个回复
粳饶瓢部
这在数量字段上创建了唯一的约束,这就是第二次插入失败的原因。我想不出您为什么要这么做的任何理由。 附言如果删除该行,请确保从前一行删除逗号(,)。