mysql中 ON DUPLICATE KEY UPDATE更新数据时报错问题
高洛峰
高洛峰 2016-11-07 10:39:12
0
1
1166

自己写了个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")


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(1)
三叔

可以查看这篇文章http://blog.csdn.net/mysqldbd/article/details/6137509来解决,其提供了3种方案。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!