MariaDB重复密钥更新

时间:2016-12-01 16:51:02

标签: php sql mariadb

如果密钥重复,我想使qty =(当前数量)+(新数量)

https://mariadb.com/kb/en/mariadb/insert-on-duplicate-key-update/

在Mariadb doc中,只有分配列值的情况。

CREATE TABLE Cart(
    buyer varchar(255) NOT NULL PRIMARY KEY,
    productid int(11) NOT NULL PRIMARY KEY,
    qty int(11) NOT NULL
);

$addCart_sql = "INSERT INTO Cart (buyer, productid, qty) 
                VALUES ('$buyer', $productid, $qty)
                ON DUPLICATE KEY UPDATE qty = VALUES(qty + $qty)";

我试过

ON DUPLICATE KEY UPDATE qty = VALUES(qty) + VALUES($qty);
ON DUPLICATE KEY UPDATE qty = VALUES(qty) + $qty;

但所有情况都会返回错误

我该怎么办?

1 个答案:

答案 0 :(得分:0)

ON DUPLICATE KEY UPDATE qty = VALUES(qty) + qty