3

我想在一个查询中做这样的事情。

REPLACE INTO table ( id, number ) VALUES ( 'test', number=number+5 )

我想要的是(第一次!)插入行并设置数字 5。其他时间(如果已经存在)在数字处添加 5。

可能吗?我在网上找不到任何东西。

4

2 回答 2

5

只要确保这ID是独一无二的。使用INSERT ... ON DUPLICATE KEY UPDATE语法

INSERT INTO tableName (id, number)
VALUES ('test', 5)
ON DUPLICATE KEY UPDATE
number = number + 5
于 2012-10-30T16:02:48.443 回答
1

假设这id是一个正确的键(例如主键):

INSERT INTO `table` (id, number)
VALUES ('test', 5)
ON DUPLICATE KEY UPDATE number=number+VALUES(number)
于 2012-10-30T16:03:50.963 回答