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\'
    
已邀请:
        您可能不希望这一行:
  UNIQUE KEY `Quantity` (`Quantity`)
这在数量字段上创建了唯一的约束,这就是第二次插入失败的原因。我想不出您为什么要这么做的任何理由。 附言如果删除该行,请确保从前一行删除逗号(,)。     

要回复问题请先登录注册