使用引用向SQLite表添加NOT NULL列

前端之家收集整理的这篇文章主要介绍了使用引用向SQLite表添加NOT NULL列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在现有的sqlite表中添加一个列,该表引用另一个表中的列.我用这个命令

ALTER TABLE users 
 ADD COLUMN dayChoice_id INTEGER 
             NOT NULL REFERENCES dayChoice(dayChoice_id) DEFAULT 0

我收到错误“无法添加具有非NULL默认值的REFERENCES列”.真的吗?那么我该如何添加列呢?

解决方法

您需要在执行此ALTER语句时禁用外键强制执行,如下所示:

PRAGMA foreign_keys = 0;
ALTER TABLE users ADD COLUMN dayChoice_id INTEGER
            NOT NULL REFERENCES dayChoice(dayChoice_id) DEFAULT 0;
PRAGMA foreign_keys = 1;

猜你在找的Sqlite相关文章