python - mysql中 ON DUPLICATE KEY UPDATE更新数据时报错问题

 萧士瑋62184 发布于 2022-10-27 21:39

自己写了个python脚本批量向django数据库中插入数据,因数据是实时更新,所以用了mysql中的ON DUPLICATE KEY UPDATE这个语句,但是获取数据时报错语法错误,请教该如何修改,谢谢!
伪代码:

from django.db import connection

cursor = connection.cursor() 

cursor.execute("INSERT INTO api_coupon(GoodsID,Title,D_title,Pic,Cid) VALUES (%s,%s,%s,%s,%s) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id) GoodsID=values(%s)",(GoodsIDs,Titles,D_titles,Pics,Cids,GoodsIDs))

我的表中id为主键,GoodsID也是唯一的,其中有2-3个字段是经常更新的

错误语句:

django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syn
tax to use near 'GoodsID=values('523021223131')' at line 1")
1 个回答
  • 可以查看这篇文章插入时的键重复问题来解决,其提供了3种方案。

    2022-11-12 01:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有