12

我在 Sqlite 中有一个现有的表。如何为其添加唯一约束?

4

3 回答 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 回答