1

我有一个简单的表 onupdate 有两列:ID 和内容和一个记录:[1,'旧内容']。添加记录 [1, 'new content'] 时,我想用新内容替换内容。是否可以使用 ON DUPLICATE KEY UPDATE 语法?通过这种方式,旧值仍然存在:

INSERT INTO onupdate (id, content) VALUES (1, 'newcontnet')
ON DUPLICATE KEY UPDATE
  onupdate.content = onupdate.content

该示例仅用于说明目的。请不要提出 UPDATE 查询,因为我不知道 ID 是否存在。

4

2 回答 2

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'
于 2013-09-20T18:46:28.573 回答
2
INSERT
INTO    onupdate
        (id, content)
VALUES  (1, 'newcontnet')
ON DUPLICATE KEY
UPDATE  content = VALUES(content)

VALUES(content)INSERT意思是“如果发生了就会存在的价值”

于 2013-09-20T18:50:15.663 回答