SQL:没有两个实体可以具有相同的两个属性组合?
例如,如果我有一个带有属性date和driver的表“Delivery”。我希望在同一天不会有两次交付有相同的司机。如何在CREATETABLE语句中执行此操作?要执行此操作,您需要在这两列上声明主键或唯一索引。更常见的情况是声明主键,在这种情况下,唯一列被视为提供由行建模的项的标识 有些人喜欢创建一个单独的、自动编号的整数字段作为主键,并在要强制其唯一性的两列上声明一个唯一索引。这称为使用“代理”或“非智能”键。第一种解决方案称为使用“自然”键 根据您使用的数据库产品,创建这些约束的语法有一些细微的变化,但它们通常类似于:SQL:没有两个实体可以具有相同的两个属性组合?,sql,relational-database,Sql,Relational Database,例如,如果我有一个带有属性date和driver的表“Delivery”。我希望在同一天不会有两次交付有相同的司机。如何在CREATETABLE语句中执行此操作?要执行此操作,您需要在这两列上声明主键或唯一索引。更常见的情况是声明主键,在这种情况下,唯一列被视为提供由行建模的项的标识 有些人喜欢创建一个单独的、自动编号的整数字段作为主键,并在要强制其唯一性的两列上声明一个唯一索引。这称为使用“代理”或“非智能”键。第一种解决方案称为使用“自然”键 根据您使用的数据库产品,创建这些约束的语法有一些
ALTER TABLE table_name ADD PRIMARY KEY key_name (column_name1, column_name2)
这将取决于您使用的RDBMS。请适当标记问题。在这两列上创建唯一约束或唯一索引。