sqlite3.OperationalError:表测试没有名为 python 的列错误
Posted
技术标签:
【中文标题】sqlite3.OperationalError:表测试没有名为 python 的列错误【英文标题】:sqlite3.OperationalError: table test has no column named python error 【发布时间】: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
【问题讨论】:
【参考方案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。以上是关于sqlite3.OperationalError:表测试没有名为 python 的列错误的主要内容,如果未能解决你的问题,请参考以下文章
sqlite3.OperationalError ...我的sqlite语法有啥问题?
sqlite3.OperationalError:靠近“%”:语法错误
django:sqlite3.OperationalError:没有这样的表
sqlite3.OperationalError:表测试没有名为 python 的列错误