在重复密钥更新时:现有值加上新值

时间:2014-10-08 19:40:51

标签: mysql

是否有可能使用不应更新的列中的值来更新另一列的值?例如,像这样:

表:product_id, color_id, amount, received

查询:

INSERT INTO orders (product_id, color_id, amount)
VALUES (100, 101, 5),(100,102,3)
ON DUPLICATE KEY UPDATE
    product_id=values(product_id),
    color_id=values(color_id),
    amount=received+values(amount)

因此,如果没有现有密钥,则会插入带有金额值的行,但如果有唯一密钥,则金额值是接收列的值加上查询中的金额值。 / p>

0 个答案:

没有答案