加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – MySQL ON DUPLICATE KEY UPDATE问题

发布时间:2020-05-26 01:54:37 所属栏目:PHP 来源:互联网
导读:嗨,有人可以看看这个并告诉我哪里出错了. 我有一个SQL语句,当我使用 PHP回应时,我得到这个屏幕 INSERT INTO moviedb.genre SET GenreID = 18 , GenreName = Drama ON DUPLICATE KEY UPDATE GenreName = Drama WHERE GenreID = 18INSER

嗨,有人可以看看这个并告诉我哪里出错了.
我有一个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);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读