我尝试将列添加到现有表中,然后使用它:
sqlite> create table tst(id_key INTEGER PRIMARY KEY, s1 TEXT);
sqlite> .tables
tst
sqlite> insert into tst (s1) values ("AA");
sqlite> select * from tst;
1|AA
sqlite> alter table tst add colum s2 TEXT NOT NULL DEFAULT "BB";
sqlite> select * from tst;
1|AA|BB
sqlite> .schema tst
CREATE TABLE tst(id_key INTEGER PRIMARY KEY, s1 TEXT, colum s2 TEXT NOT NULL DEFAULT "BB");
所以看起来都很好。
但是
sqlite> select s2 from tst;
Error: no such column: s2
所以在方案中有“s2”栏, 唯一记录包含“s2”字段中的数据, 但是sqlite不知道列s2。
出了什么问题,我错误地使用了“alter table”?
答案 0 :(得分:2)
您的列未命名为s2
,而是colum
。检查ALTER TABLE
是否有拼写。
sqlite> select colum from tst;
BB
这个问题可能应该被关闭,因为这是一个错字。