我想更新SQLite
数据库中的表,并将UNIQUE
约束添加到 Data 表中的两列。
这是我正在尝试的,但却抛出了错误。
ALTER TABLE Data
ADD CONSTRAINT Data UNIQUE(id, dateofday);
之前的所有答案都在我不想要的创建表格上。有什么建议吗?
答案 0 :(得分:3)
不可能。您无法在sqlite中为现有表添加约束。您只能重命名表或向表中添加列。
链接供您参考:http://www.sqlite.org/lang_altertable.html
但是,您可以使用此备用方法来实现相同目的。
使用与当前表相同的列创建一个临时表,其中包含您需要的所有约束。
然后将所有数据从旧表移动到新临时表,并使用约束定义
INSERT INTO Destination SELECT * FROM Source;
检查您是否已将原始表格中的所有数据复制到临时表格。
删除原始表并将临时表重命名为原始表的名称。