当前位置:  开发笔记 > 数据库 > 正文

如何在SQLite中添加默认值?

如何解决《如何在SQLite中添加默认值?》经验,为你挑选了1个好方法。

我有一个表被修改为以这种方式添加状态列

ALTER TABLE ITEM ADD COLUMN STATUS VARCHAR DEFAULT 'N';

但是,对于任何创建的新ITEM,SQLite似乎都没有为该列添加N. 语法是错误的还是SQLite存在任何问题及其对默认值的支持.

我正在使用SQLite 3.6.22



1> databyte..:

在我看来很好. 这是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之前,转储您的模式并验证您的表结构是否存在.如果它在事务中,请确保在插入之前COMMIT事务.

$ sqlite3 test.db ".dump"

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有