mysql.connector.errors.ProgrammingError: 1064 (42000): 尝试创建表时 SQL 语法有错误
Posted
技术标签:
【中文标题】mysql.connector.errors.ProgrammingError: 1064 (42000): 尝试创建表时 SQL 语法有错误【英文标题】:mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax when trying to create a table 【发布时间】:2021-08-24 18:29:22 【问题描述】:mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“Rank int, XP int, PRIMARY KEY (UUID)) 附近使用正确的语法
代码在 python 3.9 中使用 mysql.connector
c.execute('CREATE TABLE IF NOT EXISTS UserActivity(UUID int, TotalMessages int, Rank int, XP int, PRIMARY KEY (UUID))')
【问题讨论】:
【参考方案1】:Rank 一词是保留关键字,必须用 UR 替换 Rank 的所有实例
c.execute('CREATE TABLE IF NOT EXISTS UserActivity(UUID int, TotalMessages int, UR int, XP int, PRIMARY KEY (UUID))')
【讨论】:
链接提示:en.wikipedia.org/wiki/SQL_reserved_words,RANK 由 SQL-2016、MySQL 和 Teradata 保留。以上是关于mysql.connector.errors.ProgrammingError: 1064 (42000): 尝试创建表时 SQL 语法有错误的主要内容,如果未能解决你的问题,请参考以下文章