修改 Sqlite 表列 NOT NULL 为 NULL

Posted

技术标签:

【中文标题】修改 Sqlite 表列 NOT NULL 为 NULL【英文标题】:Modify Sqlite Table Column NOT NULL to NULL 【发布时间】:2015-04-11 21:40:55 【问题描述】:

我正在寻找类似于this 的东西,但我使用的是 sqlite3。我试过了:

sqlite> UPDATE JOBS SET JOB_TYPES = NULL;

但我得到“约束失败”。我做的正确吗?

我想把当前的“NOT NULL”改成“NULL”。

【问题讨论】:

【参考方案1】:

SQLite 几乎没有 ALTER TABLE 支持。

更改表最简单的方法是创建一个新表,然后将数据复制过来:

CREATE TABLE Jobs2(..., JOB_TYPES NULL, ...);
INSERT INTO Jobs2 SELECT * FROM Jobs;
DROP TABLE Jobs;
ALTER TABLE Jobs2 RENAME TO Jobs;

【讨论】:

以上是关于修改 Sqlite 表列 NOT NULL 为 NULL的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎样修改表名列名字段类型添加表列删除表列

oracle修改表名列名字段类型添加表列删除表列

Oracle修改表列长度

mysql增加列,修改列名列属性,删除列

mysql 修改表

完成sqlite执行参数的字典