微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在SQLite中添加默认值?

我有一个表,修改为以这种方式添加状态列
ALTER TABLE ITEM ADD COLUMN STATUS VARCHAR DEFAULT 'N';

但是sqlite似乎没有添加N为任何新的ITEM创建的列。是语法错误或有与sqlite的任何问题及其对认值的支持

我使用sqlite 3.6.22

看起来对我好。 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,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,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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐