我正在尝试更新一行(如果存在),如果它不存在,那么我想在表中执行插入操作。 picture.id 和 picture.picturepath 是唯一的键。我看过一些例子,但我不确定我做错了什么。
我遇到了重复 key 更新,不确定这是否与我想要实现的目标相关。
Error message: 1064- You have an error in your SQL syntax near 'UPDATE picture SET picture.picturecontent = ipicturecontent WHERE picture.id at line 5"
IF EXISTS( SELECT * FROM picture WHERE picture.id = ipictureid
AND picture.picturepath = ipicturepath) THEN
UPDATE picture
SET picture.picturecontent = ipicturecontent
WHERE picture.id = ipictureid
AND picture.picturepath = ipicturepath
ELSE
INSERT INTO picture (picture.id, picture.picturecontent,picture.picturepath) VALUES (ipictureid, ipicturecontent, ipicturepath)
最佳答案
https://stackoverflow.com/a/10095812/1287480 <- 信用到期的信用。
INSERT INTO models (col1, col2, col3)
VALUES ('foo', 'bar', 'alpha')
ON DUPLICATE KEY UPDATE col3 = 'alpha';
关于mysql - 如果存在则更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28856445/