在其他DBMSes中,您会使用
ALTER TABLE DROP CONSTRAINT ...
RENAME TABLE
和
ADD COLUMN
ALTER TABLE
命令(
Source
因此,恐怕您必须创建一个新表:
CREATE TABLE testtable2(
test1 TEXT, test2 TEXT, test3 TEXT, test4 TEXT DEFAULT FALSE,
UNIQUE (test1)
);
然后将旧表中的数据插入新表:
INSERT INTO testtable2 SELECT * FROM testtable;
然后您可以删除旧表:
DROP TABLE testtable;
最后将新表重命名为原始名称:
ALTER TABLE testtable2 RENAME TO testtable;
小心,你的新约束将不那么宽容。例如,如果原始表中有以下行:
test1 test2 test3 test4
---------- ---------- ---------- ----------
a a 100 1
a b 200 2
a c 300 3
INSERT INTO testtable2 SELECT * FROM testtable;
会失败因为
test1
不是唯一的:
SQL error: column test1 is not unique