SQLiteStudio:如何创建唯一行(不是列)?

时间:2017-09-18 15:59:13

标签: sql database sqlite unique sqlitestudio

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

这应该有效:

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

这应该不起作用:

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

希望你能帮助我C: 〜亨利

4 个答案:

答案 0 :(得分:3)

您可以在表格中添加Create Table YourTable ( Id INTEGER PRIMARY KEY AUTOINCREMENT, Column01 VARCHAR, Column02 VARCHAR, CONSTRAINT col01_col02_unique UNIQUE (Column01, Column02) )

WITH PatienLits as(
select 
    patient_id
from appointments a
where attended=0
and start_date <= GETDATE()
)
SELECT a.patient_id,a.start_date, a.attended from
appointments a
inner join PatienLits P
on a.patient_id = p.patient_id
WHERE
a.start_date > GETDATE()

答案 1 :(得分:2)

像这样创建一个多值主键

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

单列和复合(多列)主键都是   支撑。

请参阅https://www.sqlite.org/lang_createtable.html

答案 2 :(得分:0)

在下面的示例中,只有一个PRIMARY KEY(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)
);

答案 3 :(得分:0)

由于问题是在SQLiteStudio的上下文中提出的 - 您可以在表格窗口中创建复合约束。虽然可以在表窗口的上半部分添加列,但窗口的下半部分用于管理复合约束: enter image description here

enter image description here enter image description here

enter image description here