我有简单的表onupdate,有两列:ID和Content以及一条记录:[1,'old content']。 我想在添加记录[1,'新内容']时用新内容替换内容。是否可以使用ON DUPLICATE KEY UPDATE语法?通过这种方式,旧的价值仍然存在:
INSERT INTO onupdate (id, content) VALUES (1, 'newcontnet')
ON DUPLICATE KEY UPDATE
onupdate.content = onupdate.content
该示例仅用于说明目的。请不要提出UPDATE查询,因为我不知道ID是否存在。
答案 0 :(得分:3)
说ON DUPLICATE KEY UPDATE onupdate.content = onupdate.content
就像说“如果id
已经存在,请content
并将其替换为自己”。您可能想要将新数据放在原位:
INSERT INTO onupdate (id, content) VALUES (1, 'newcontnet')
ON DUPLICATE KEY UPDATE
onupdate.content = 'newcontnet'
答案 1 :(得分:2)
INSERT
INTO onupdate
(id, content)
VALUES (1, 'newcontnet')
ON DUPLICATE KEY
UPDATE content = VALUES(content)
VALUES(content)
表示“INSERT
发生时会存在的价值”