【问题标题】:sqlite3.OperationalError: table test has no column named python errorsqlite3.OperationalError:表测试没有名为 python 的列错误
【发布时间】:2022-01-05 19:14:08
【问题描述】:

cursor.execute(""" INSERT INTO 登录(登录 ID、用户名、密码)值 (1, 'jguyg0', 'jhbbh'), (2, 'fgcghj', 'mujh'), (3, 'ffhiuh', 'aphu'), (4, 'ugyug', '清除'), (5, 'knuin', 'Proae'), (6, 'uygy', '垫子'), (7, 'ewawez', 'fre'), (8, 'hjbgbi', 'initive'), (9, 'iuhui', 'Opene'), (10, 'lhuh', '向上'); ………………………………………………………………………………………………………………………… (11, 'ajhiyg0', 'func'), (20, 'akhikhk', 'Reverneered');

""")

I'm getting a no column named error and I can't seem to figure out why? I've found a few syntax error but after that it still doesn't work

【问题讨论】:

    标签: python mysql-python


    【解决方案1】:

    请试试这个。

    #records or rows in a list
    records = [(1, 'mmcgonagle0', 'foreground'), (2, 'fstickels1', 'multi-state'), (3, 'ffilochov2', 'approach'), ...]
    
    #insert multiple records in a single query
    cursor.executemany('INSERT INTO login VALUES(?,?,?);',records);
    

    【讨论】:

      【解决方案2】:

      我认为这不是正确的代码,因为创建语句的格式更好:

       CREATE TABLE IF NOT EXISTS login ( 
          login_ID int(11) PRIMARY KEY NOT NULL,
          login_ID int(11) NOT NULL,
          username varchar(20) NOT NULL,
          password varchar(20) NOT NULL
       )
      

      如您所见,您已经定义了两次login_ID,但都失败了。

      或者该表可能不存在,或者您之前已创建该表并希望此新创建能够正常工作。 describe login 应该告诉你它的定义是什么,或者 drop login 在你更正声明之后让它工作。

      如果是这个mysql还是sqlite?

      【讨论】:

      • 对不起,我的意思是删除两次 login_ID,我只是在搞砸添加第二个。我正在通过 python 使用 mysqlite 来创建一个数据库和菜单来访问数据库中的某些功能,例如添加和删除某些东西
      • 然后直接通过sqlite访问db,运行.schema login,发布详情。
      • 我刚刚意识到我不久前用相同的登录信息制作了一张表。现在我更改了表名和 ID,现在我收到了这个错误。 cursor.execute(""" sqlite3.Warning: 一次只能执行一条语句。
      • 那么根据@pritesh,你需要executemany
      【解决方案3】:

      在 Login_ID 10 上,我以分号而不是逗号结束了这一行,这让 python 认为我正在尝试运行多个函数而不是一个。所以不要这样:

      (10, 'mdutnall9', '上升趋势'); 它必须是这样的: (10, 'mdutnall9', '上升趋势'), 很小的东西很难注意到。一旦我修复了我的程序运行时没有错误。

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多