在 SQLite 中用两列作为唯一约束更新 table,不再创建 table
Update table with two columns as unique constraints in SQLite, NOT create table again
我想更新我的 SQLite
数据库中的 table 并将 UNIQUE
约束添加到我的 Data [=25= 中的两列].
这是我尝试的方法,但抛出错误。
ALTER TABLE Data
ADD CONSTRAINT Data UNIQUE(id, dateofday);
所有以前的答案都在 create table 上,我不想要。有什么建议吗?
不可能。您不能在 sqlite 中向现有 table 添加约束。您只能重命名 table 或将列添加到 table.
Link供您参考:http://www.sqlite.org/lang_altertable.html
但是您可以使用这种替代方法来实现相同的目的。
创建一个临时 table,其中包含与当前 table 相同的列,并具有您需要的所有约束。
然后将所有数据从旧 table 移动到新的临时 table 并使用定义的约束
INSERT INTO Destination SELECT * FROM Source;
检查您是否已将原始table中的所有数据复制到临时table。
删除原来的 table 并将临时 table 重命名为原来 table 的名称。
我想更新我的 SQLite
数据库中的 table 并将 UNIQUE
约束添加到我的 Data [=25= 中的两列].
这是我尝试的方法,但抛出错误。
ALTER TABLE Data
ADD CONSTRAINT Data UNIQUE(id, dateofday);
所有以前的答案都在 create table 上,我不想要。有什么建议吗?
不可能。您不能在 sqlite 中向现有 table 添加约束。您只能重命名 table 或将列添加到 table.
Link供您参考:http://www.sqlite.org/lang_altertable.html
但是您可以使用这种替代方法来实现相同的目的。
创建一个临时 table,其中包含与当前 table 相同的列,并具有您需要的所有约束。
然后将所有数据从旧 table 移动到新的临时 table 并使用定义的约束
INSERT INTO Destination SELECT * FROM Source;
检查您是否已将原始table中的所有数据复制到临时table。
删除原来的 table 并将临时 table 重命名为原来 table 的名称。