MYSQL:在重复更新时插入 - 获取当前列值

时间:2015-09-05 20:33:54

标签: mysql

我想在#34;重复更新"。

中访问列的当前值

例如,我有一个结构表:

unique_param value
test        test_value

unique param是一个独特的索引。

查询是

INSERT INTO `test` (`unique_param`, `value`) values ('test', 'test_value1') ON DUPLICATE KEY UPDATE value = concat(VALUES(value), ",", value)

但我的查询不起作用,似乎我无法访问当前列,因此查询后的值为" test_value1,"

我期望的结果是:

unique_param value
test        test_value1,test_value

UPGRADE: 根据戈登的回答,我的查询很好,如果需要,有人可以使用它。我刚刚在表定义中出错了。

1 个答案:

答案 0 :(得分:0)

您的代码适用于SQL Fiddle.

您只需要插入重复的密钥即可。 。 。列的名称不算作副本。

顺便说一句,将事物存储在以逗号分隔的列表中几乎总是一个坏主意。改为使用单独的联结表。