它只允许我更新导致总共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'
答案 0 :(得分:2)
你可能不想要这一行:
UNIQUE KEY `Quantity` (`Quantity`)
这会在数量字段上创建一个唯一约束,这就是您的第二个插入失败的原因。我想不出你为什么会这么想的原因。
P.S。如果删除该行,请确保从上一行中删除逗号(,)。