Arrays sqlite3-使两个条目的组合唯一

Arrays sqlite3-使两个条目的组合唯一,arrays,sqlite,unique,Arrays,Sqlite,Unique,表: 正如您所看到的,“Car”和“Year”列都不是唯一的。但是,我如何才能使Car和make的组合变得独特,从而使此表不接受任何其他(宝马,2013,任何颜色)条目?您可以执行以下任一操作: Car | Year | Colour --------------- = BMW | 2013 | Black Benz | 2011 | Red BMW | 2011 | Orange 或者您可以在(汽车,年份)上使用主键重新创建表格。如果您有其他表,用于识别具有车、年组合的车型,并

表:

正如您所看到的,“Car”和“Year”列都不是唯一的。但是,我如何才能使Car和make的组合变得独特,从而使此表不接受任何其他(宝马,2013,任何颜色)条目?

您可以执行以下任一操作:

Car | Year | Colour
---------------
=
BMW  | 2013  | Black

Benz | 2011  | Red

BMW  | 2011  | Orange

或者您可以在
(汽车,年份)
上使用
主键重新创建表格。如果您有其他表,用于识别具有
车、年
组合的车型,并且您希望确保这些对与主表相对应,则
主键
是首选解决方案(在其他表上声明了匹配的
外键
)。

但是如果我已经将主键用于ID,表中可以有另一个主键吗?像“创建表标题(ID INTEGER主键不为NULL,主键(标题,单位)”?谢谢您的帮助Larry:)不,只有一个主键。因此,在本例中,您将使用唯一索引解决方案,这是允许的。您也可以考虑放弃ID列代替“(智能)”主键(Car,年),尽管许多开发人员更喜欢ID解决方案。
CREATE UNIQUE INDEX ON TableName(Car,Year)