1

我想创建一个只允许使用SqliteStudio的唯一行的表:

这应该有效:

|--ID--|--Column01--|--Column01--|
| 1     "brun/brune"   "brown"   |
| 2     "yellow"       "brown"   |

这不应该工作:

|--ID--|--Column01--|--Column01--|
|   1    "brun/brune"   "brown"  |
|   2    "brun/brune"   "brown"  |

希望你能帮助我 C: ~Henri

4

4 回答 4

3

您可以将 a 添加UNIQUE CONSTRAINT到表中:

Create Table YourTable
(
    Id       INTEGER PRIMARY KEY AUTOINCREMENT,
    Column01 VARCHAR,
    Column02 VARCHAR,
    CONSTRAINT col01_col02_unique UNIQUE (Column01, Column02)
)
于 2017-09-18T16:03:50.280 回答
2

像这样创建一个多值主键

CREATE TABLE something (
  column01, 
  column02, 
  PRIMARY KEY (column01, column02)
);

支持单列和复合(多列)主键。

https://www.sqlite.org/lang_createtable.html

于 2017-09-18T16:03:22.217 回答
2

由于该问题是在 SQLiteStudio 的上下文中提出的 - 您可以在表格窗口中创建复合约束。虽然您可以在表格窗口的上部添加列,但窗口的下部用于管理复合约束: 在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

于 2017-09-19T07:38:56.787 回答
1

在下面的示例中,只有一个主键 (PK_Person)。但是,主键的 VALUE 由两列 (ID + LastName) 组成。

CREATE TABLE mytable (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT PK_name PRIMARY KEY (ID,LastName)
);
于 2017-09-18T16:17:00.573 回答