mysql - 如果存在则更新 MySQL

标签 mysql

我正在尝试更新一行(如果存在),如果它不存在,那么我想在表中执行插入操作。 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/

相关文章:

MySQL JOIN 表与 WHERE 子句

mysql - 当我使用 "source"命令行时更新 MySQL 中的另一个表

c# - 在 Windows 应用商店应用程序中查看 mysql 数据库

mysql - 更好地查询两个表上的 LEFT JOIN 并仅获得匹配的结果

mysql - 使用 count 和 group by 对同一个表进行 2 个不同的查询

php - 检查下一个小时是否存储了任何数据

php - 如何修复 LAMP UTF8 编码?

php - 如何使用php将列值作为逗号从mysql数据导入到csv文件

jQuery UI Datepicker 将备用字段填充并格式化为 MySQL 日期

php - 使用 CodeIgniter 动态地用 mysql 数据填充 <select>