我正在尝试执行以下类似的类型 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/