我正在尝试在PHP中使用ON DUPLICATE KEY UPDATE。我真的不确定正确的语法是什么。我正在使用MySQL 8.0.19
我有,
$sql = "INSERT INTO cart (title, price, productID, quantity) VALUES ('$title', '$price', '$productID', '$quantity') ON DUPLICATE KEY UPDATE quantity WHERE productID='$productID'";
并且数量是自动递增的,而productID是唯一键。如果productID已经存在,我希望数量增加。
我收到错误,
“”您的SQL语法有误;请在与MySQL服务器版本相对应的手册中找到在第1行的'WHERE productID ='1'附近使用的正确语法。
$stmt = $conn->prepare("
INSERT INTO cart (title, price, productID, quantity)
VALUES (?, ?, ?, ?)
ON DUPLICATE KEY UPDATE quantity = quantity + ?;
");
$stmt->bind_param($title, $price, $productID, $quantity, $quantity);
$stmt->execute();