【问题标题】:SQL / Python Create Table ErrorSQL/Python 创建表错误
【发布时间】:2013-03-13 15:55:26
【问题描述】:

当我试图创建这个表时,我遇到了一个奇怪的错误......当我回溯它时,我在第 5 行什么都没有?谁能帮助我了解如何跟踪此错误?

导入设置 导入 mysql.connector 从数据库导入登录信息 将日期时间导入为 dt

def main():
    db = mysql.connector.Connect(**login_info)
    cursor = db.cursor()
    sql =('DROP TABLE IF EXISTS messages')
    cursor.execute(sql)
    db.commit()

message_table = """\
    CREATE TABLE messages(
        msgID INTEGER AUTO_INCREMENT PRIMARY KEY,
        message VARCHAR(500) DEFAULT NULL,
        subject VARCHAR(500) DEFAULT NULL,
       )"""
cursor.execute(message_table)
db.commit()

错误 == mysql.connector.errors.ProgrammingError: 1064: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 ')' 附近使用正确的语法

我可以在交互式窗口中连接 ot SQl 没问题。

【问题讨论】:

  • 您可能会在当前遇到的问题之后遇到更多问题,因为括号是圆形的('DROP TABLE IF EXISTS messages')
  • 语法错误:最后一个字段定义后的逗号。逗号用于分隔表定义的元素(字段、索引等)...请始终记住检查文档(在这种情况下,MySQL 文档:数据定义语句:CREATE)。错误消息甚至可以很好地提示您错误在哪里。

标签: python mysql sql


【解决方案1】:

尝试删除第 4 行末尾的 ,

【讨论】:

  • 最后一个 NULL 之后。我认为您不允许在最后一个字段声明之后使用尾随 ,
猜你喜欢
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
相关资源
最近更新 更多