python - 插入操作时 python 和 mysql 的 sql 语法错误

标签 python mysql sql python-2.7

我正在尝试执行以下类似的类型 2 sql 查询。虽然一个查询成功执行,但另一个查询出现错误

db = MySQLdb.Connection(host="192.168.1.90", port=3306, user="some", passwd="some", db="some")
cur = db.cursor()
cur.executemany("""INSERT INTO test (timepacket,model_no,cycle_time,target,plan,count,difference,bekido,linenumber,shift,runningstatus,remarks) VALUE (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""", datater)
db.commit()
cur1 = db.cursor()
cur1.executemany("""INSERT INTO delay (running,change,nomaterial,breakdown,quality,noplan,line,shift) VALUE(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""", datater1)
db.commit()
db.close()

第一个查询工作正常,而第二个查询出现错误

1064, "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 'change,nomaterial,breakdown,quality,noplan,line,shift) VALUE(507,0,0,0,0,0,1,1)' at line 1") Anyone can help me out why it is happening?

最佳答案

更改reserved keyword 。如果您将列命名为“change”,则需要将其用勾号括起来。

(我不是 python 开发人员,所以我猜这是正确的):

cur1.executemany("""INSERT INTO delay (running,`change`,nomaterial,breakdown,quality,noplan,line,shift) VALUE(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)""", datater1)

关于python - 插入操作时 python 和 mysql 的 sql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21046293/

相关文章:

python - 如何从 AWS Glue 脚本更新/删除雪花

mysql select from multi tables 问题

java - Docker Mysql + Spring 连接被拒绝

java - 与字符串字段的多对一关系

asp.net - SQL Server 中的哈希密码 (asp.net)

javascript - 将段落拆分成句子

Python 3 博托 3,AWS S3 : Get object URL

php - 仅从连接表中获取指定列

c# - 使用 DataTable 的 SqlBulkInsert 到链接服务器

python - 如何获得两个数据框的交集?