1
是否有必要将主键用作其他表中的外键?我可以使用我的表中的其他列作为外键
是否有必要将主键用作其他表中的外键?我可以使用我的表中的其他列作为外键
答案是没有
Primary Key
是Unique Identifier
按应用需求。如果需要,您可以使用其他标识符(Columns
)作为您的Foreign Key
。
注:但其他标识符(
Columns
)应unique
。因为外键保存它的父/关系数据。
例
在该表中,ID
是主键(AUTO_INCREMENT
),EMAIL
是独一无二的。因此,您可以使用EMAIL
作为另一个表中的外键。
+-------------+--------------+--------------+
| ID | EMAIL | OTHER |
+-------------+--------------+--------------+
| 1 | [email protected] | ------ |
+-------------+--------------+--------------+
| 2 | [email protected] | ------ |
+-------------+--------------+--------------+
| 3 | [email protected] | ------ |
+-------------+--------------+--------------+
我在我的表中有另一列,其中包含由PHP代码生成的唯一字符串。 –
我在答案@LemuelDoronio中添加了一个例子 –
是的,如果“列”是唯一的,那么您可以在另一个表中使用该列作为外键。 @LemuelDoronio –