php – MySQL ON DUPLICATE KEY UPDATE问题

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – MySQL ON DUPLICATE KEY UPDATE问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,有人可以看看这个并告诉我哪里出错了.
我有一个sql语句,当我使用 PHP回应时,我得到这个屏幕
INSERT INTO 'moviedb'.'genre' SET 'GenreiD' = '18','Genrename' = 'Drama' ON DUPLICATE KEY UPDATE 'GenreName' = 'Drama' WHERE 'GenreID' = '18'
INSERT INTO 'moviedb'.'genre' SET 'GenreID' = '16','GenreName' = 'Animation' ON DUPLICATE KEY UPDATE 'GenreName' = 'Animation' WHERE 'GenreID' = '16'

这是声明

$sql="INSERT INTO 'moviedb'.'genre' SET 'GenreID' = '{$genresID[$i]}','GenreName' = '{$genreName[$i]}' ON DUPLICATE KEY UPDATE 'GenreName' = '{$genreName[$i]}' WHERE 'GenreID' = '{$genresID[$i]}'";

这是我收到的错误

You have an error in your sql Syntax; check the manual that corresponds to your MysqL server version for the right Syntax to use near ''moviedb'.'genre' SET 'GenreID' = '18','GenreName' = 'Drama' ON DUPLICATE KEY ' at line 1

任何帮助将不胜感激,提前感谢.

您不能将WHERE与ON DUPLICATE KEY组合使用.

删除WHERE子句,MysqL只会更新导致重复键的行.

对于多行INSERT,使用VALUES()告诉MysqL更新将插入的值,例如:

INSERT INTO moviedb.genre (GenreID,GenreName)
VALUES ('18','Drama'),('16','Animation')
ON DUPLICATE KEY UPDATE
  GenreName = VALUES(GenreName);

脚本宝典总结

以上是脚本宝典为你收集整理的php – MySQL ON DUPLICATE KEY UPDATE问题全部内容,希望文章能够帮你解决php – MySQL ON DUPLICATE KEY UPDATE问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。