sqlite 列的not null可以直接改为unique吗

Viewed 4

from new bing

根据搜索结果[^3^] [^4^],SQLite不支持直接修改列的约束条件,所以不能直接把not null改为unique。如果想要修改列的约束条件,需要先重命名原表,然后创建一个新表,再把原表的数据复制到新表中,并删除原表[^3^]。

您可以参考以下示例代码[^3^]:

-- rename the original table
ALTER TABLE table_name RENAME TO temp_table_name;

-- create a new table with a new column constraint
CREATE TABLE table_name(
   column1 TEXT NOT NULL UNIQUE,
   column2 TEXT,
   ...
);

-- copy data from the original table to the new one
INSERT INTO table_name(column1,column2,...)
SELECT column1,column2,...
FROM temp_table_name;

-- drop the original table
DROP TABLE temp_table_name;
0 Answers