我修改了一个表,以便以这种方式向其中添加状态列
ALTER TABLE ITEM ADD COLUMN STATUS VARCHAR DEFAULT 'N';然而,对于创建的任何新项,SQLite似乎不会在列中添加N。是语法错误还是SQLite及其对默认值的支持有任何问题。
我使用的是SQLite 3.6.22
发布于 2010-02-13 03:37:50
我觉得挺不错的。Here are the Docs。
sqlite> create table t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE);
sqlite> .table
t1
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE);
COMMIT;
sqlite> alter table t1 add column status varchar default 'N';
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t1 (id INTEGER PRIMARY KEY, name TEXT, created DATE, status varchar default 'N');
COMMIT;
sqlite> insert into t1 (name) values ("test");
sqlite> select * from t1;
1|test||N转储您的模式,并在调用ALTER table之后、INSERT之前验证是否存在您的表结构。如果它在事务中,确保在插入之前提交事务。
$ sqlite3 test.db ".dump"https://stackoverflow.com/questions/2254504
复制相似问题