Python中使用MySQL命令时,表名或字段名不能以数字开头的解决办法
这里使用的时来自MySQL官方的Python库:mysql.connector
比如在执行:
cursor.execute("ALTER TABLE test ADD '2015' INT(6)")
就会提示:mysql.connector.errors.ProgrammingError: 1064 (42000): 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 ''2015' INT(6)' at line 1
这里实际上并不是MySQL不支持以数字开头的字段,我也不知道具体原因在哪...
但只要将
'2015'
变成
`2015`
后代码即能正常运行:
cursor.execute("ALTER TABLE test ADD `2015` INT(6)")
需要注意的是似乎对于所有的字段名出错的情况,将'
替换为`都能解决。
额,打扰一下啊,这两个符号不都是单引号么?
不是的哟,前者'是单引号,后者`是键盘上Tab键上面那个键~
哦,怪我看图不仔细