简体   繁体   English

MySQL Python错误1064,MySQL Sytax错误

[英]MySQL Python Error 1064, Error in MySQL Sytax

Im currently having some issues when im trying to insert a line into a database, this also worked before though it is only now that I have added the "key" column it fails to work and gives me an error. 我目前在尝试向数据库中插入行时遇到一些问题,尽管直到现在我添加了“ 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()

Error: 错误:

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

Any help is great! 任何帮助都很棒! (All of these inputs are Strings, aswell the "key" is specified as "modern") (所有这些输入都是字符串,“ key”也指定为“ modern”)

KEY is a reserved word in MySQL. KEY是MySQL中的保留字 You must quote it in your query when used as an identifier: 当用作标识符时,必须在查询中引用它:

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)")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM