尝试更新现有记录 - 出现错误

  • 本文关键字:错误 记录 更新 mysql
  • 更新时间 :
  • 英文 :


我正在尝试将记录插入我的数据库,如果找到重复项,它应该只更新一个字段。

这是我到目前为止的代码

$strSQL = "INSERT INTO ppage_image_uploads(Cons_ID, Img_SRC, Program, TeamRaiser_ID) 
VALUES
('" . $_POST["cons_id"] . "',
'" . $_POST["img_src"] . "',
'" . $_POST["program"] . "',
'" . $_POST["tr_id"] . "')
ON DUPLICATE KEY UPDATE
Img_SRC = VALUES '" . $_POST["img_src"] . "'
)";

从另一个问题中松散地理解了这一点:MySQL 在单个查询中插入多行的重复键更新

我最终从处理此脚本的页面收到一条错误消息,说

您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册,了解在第 8 行的"theimageurl.jpg"附近使用的正确语法

我错过的那句话有什么不对劲的地方吗?

sql 查询末尾有一个不匹配的右括号。

ON DUPLICATE KEY子句中的VALUES可用于引用在没有发生重复键冲突时将插入的值,如文档中所述。

$strSQL = "INSERT INTO ppage_image_uploads(Cons_ID, Img_SRC, Program, TeamRaiser_ID) 
VALUES
('" . $_POST["cons_id"] . "',
'" . $_POST["img_src"] . "',
'" . $_POST["program"] . "',
'" . $_POST["tr_id"] . "')
ON DUPLICATE KEY UPDATE
Img_SRC = VALUES(Img_SRC)";

最新更新