问题描述
|
它只允许我更新,导致总共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\'
解决方法
您可能不希望这一行:
UNIQUE KEY `Quantity` (`Quantity`)
这在数量字段上创建了唯一的约束,这就是第二次插入失败的原因。我想不出您为什么要这么做的任何理由。
附言如果删除该行,请确保从前一行删除逗号(,)。