ON DUPLICATE KEY无效

时间:2015-09-14 12:08:36

标签: php mysql insert-update

我目前正在尝试完成一项非常简单的任务。信息由" post.php"处理它的位置,如果ID(自动增量)不存在则应插入数据库,如果ID存在则更新数据。

运行脚本不会在数据库中写入任何内容。我试图在页面中打印查询,并将SQL复制/粘贴到PhpMyAdmin中。它返回

  

#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法   near' long,description,mobile,type,reported,embed,live,img_url)   价值观(''' TE'第1行

我的代码是:

$query="INSERT INTO xxy (ID, name, address, lat, long, description, mobile, type, reported, embed, live, img_url) VALUES('$id', '$name', '$address', '$lat', '$lon', '$description', '$mobile', '$type', '$reported', '$embed', '$live', '$target_file') ON DUPLICATE KEY UPDATE
name=VALUES('$name'), address=VALUES('$address'), lat=VALUES('$lat'), long=VALUES('$lon'), description=VALUES('$description'), mobile=VALUES('$mobile'), type=VALUES('$type'), reported=VALUES('$reported'), embed=VALUES('$embed'), live=VALUES('$live'), img_url=VALUES('$img_url')";

感谢您的帮助!

更新:

我也尝试过反复保留的话。我当前的SQL代码仍然会抛出错误。

  

1064 - 您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,使用附近的' $ name'),address = VALUES(' $ address'),lat = VALUES (' $ lat'),lon = VALUES(' $ lon'),de'在第2行

我使用的更新的SQL代码是:

xxy

1 个答案:

答案 0 :(得分:3)

删除VALUES部分

中的所有ON DUPLICATE KEY UPDATE关键字