SQLite 插入问题 - 错误:没有这样的列

Posted

技术标签:

【中文标题】SQLite 插入问题 - 错误:没有这样的列【英文标题】:SQLite insert issue – Error: no such column 【发布时间】:2014-03-24 09:43:52 【问题描述】:

我遇到了 SQLite 的问题(如果重要,版本 3.7.13)。

我创建了一个包含 foo 和 bar 两列的新表,数据类型未定义。当我尝试插入数字时,它工作正常。当我插入文本时,“错误:没有这样的列” 发生。

sqlite> CREATE TABLE test (foo, bar);
sqlite> .tables
test
sqlite> insert into test values (0,1);
sqlite> select * from test;
0|1
sqlite> insert into test values (a,b);
Error: no such column: a

我做错了什么?

谢谢。

【问题讨论】:

【参考方案1】:

你需要引用字符串

insert into test values('a', 'b')

【讨论】:

或者使用占位符(例如?)如果在可以更有效地提供值的上下文中执行INSERT,例如SQLite的任何嵌入式使用(但不是sqlite shell IIRC )。

以上是关于SQLite 插入问题 - 错误:没有这样的列的主要内容,如果未能解决你的问题,请参考以下文章

错误:SQLITE_ERROR:没有这样的列:未定义

Selenium SQLite 没有这样的列public_routeable 错误?

当我看到该列存在时,SQLite 错误“没有这样的列”

核心数据异常:向实体添加新属性后出现 SQLite“没有这样的列”错误

android.database.sqlite.SQLiteException:没有这样的列:标题:,编译时:

sqlite3.OperationalError:表测试没有名为 python 的列错误