MySQL Python 错误 1064,MySQL 语法错误

MySQL Python Error 1064, Error in MySQL Sytax

我目前在尝试向数据库中插入一行时遇到了一些问题,这之前也有效,但只是现在我添加了 "key" 列,它无法工作并给我一个错误.

add = ("INSERT INTO server_stats_servers "
            "(Owner, ServerID, MessageID, Channel, ServerIP, ServerPort, ServerName, DiscordName, Key)"
            "VALUES (%(Owner)s, %(ServerID)s, %(MessageID)s, %(Channel)s, %(ServerIP)s, %(ServerPort)s, %(ServerName)s, %(DiscordName)s, %(Key)s)")
    values = {"Owner": owner,
            "ServerID": serverid,
            "MessageID": messageid,
            "Channel": channel,
            "ServerIP": ip,
            "ServerPort": port,
            "ServerName": servername,
            "DiscordName": discordname,
            "Key": key,}
    cursor.execute(add, values)
    cnx.commit()

错误:

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 ''Key')VALUES ('Modern_Mo', '349692657221500938', '505375472646094868', '48783440' at line 1

任何帮助都很棒! (所有这些输入都是字符串,并且 "key" 被指定为 "modern")

KEY 是 MySQL 中的 reserved word。当用作标识符时,您必须在查询中引用它:

add = ("INSERT INTO server_stats_servers (Owner, ServerID, MessageID, "
       "Channel, ServerIP, ServerPort, ServerName, DiscordName, `Key`) "
       "VALUES (%(Owner)s, %(ServerID)s, %(MessageID)s, %(Channel)s, "             
       "%(ServerIP)s, %(ServerPort)s, %(ServerName)s, %(DiscordName)s, %(Key)s)")