我在 Sqlite 中有一个现有的表。如何为其添加唯一约束?
问问题
18290 次
3 回答
34
您不能在 SQLite 中向现有表添加约束,(在 SQL 中有一个选项可以这样做)。您需要使用必要的约束重新创建表。
在 sqlite 中,alter table 命令只有几个选项可用。请检查图像:
还要检查Sqlite 组织参考。
编辑
但是,您可以为表添加唯一索引以达到相同的效果。因此,您可以使用以下查询来实现:
CREATE UNIQUE INDEX your_unique_index ON your_table(column_name);
在大多数情况下,UNIQUE 和 PRIMARY KEY 约束是通过在数据库中创建唯一索引来实现的。
参考:SQLite 约束
于 2013-03-19T11:28:36.580 回答
14
您可以通过创建唯一索引来添加约束:
CREATE UNIQUE INDEX ux_friend_name ON friend(name);
其中ux_friend_name
是唯一索引名称,friend(name)
- 将受此约束影响的表及其列。
你可以在这里阅读更多。
于 2016-02-09T20:52:45.883 回答
-2
我假设您使用的是 FireFox 的 SQLiteManager,请重新创建表,通常当您已经创建表时它不允许更改约束。
注意- 它也可以使用代码来完成,这是另一种方式。
编辑见下图
于 2013-03-19T11:21:07.120 回答