mysql - 我可以使用表中的其他列作为外键吗

标签 mysql database

主键是否必须是其他表中用作外键的主键?

最佳答案

答案是

Primary Key 是应用程序要求的Unique Identifier。如果需要,您可以使用其他标识符()作为您的外键

Note: But other Identifier(Columns) should be unique. Because foreign key hold it's parent/related Data.

示例

在这个表中,ID是主键(AUTO_INCREMENT),EMAIL是唯一的。因此,您可以使用 EMAIL 作为另一个表中的外键。

+-------------+--------------+--------------+
|   ID        |     EMAIL    |    OTHER     |
+-------------+--------------+--------------+
|    1        | e1@email.com |    ------    |
+-------------+--------------+--------------+
|    2        | e2@email.com |    ------    |
+-------------+--------------+--------------+
|    3        | e3@email.com |    ------    |
+-------------+--------------+--------------+

关于mysql - 我可以使用表中的其他列作为外键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272078/

相关文章:

mysql - perl - 在数据库中发送多个请求

python - MySQL语句中的语法错误是什么?

php - mysql更新替换为concat

MySQL - 将特定行设为 NULL 或 max 值,而不仅仅是列

javascript - NodeJS、MariaDB 池连接提交不起作用

sql - 排序字母数字数据

MYSQL QUERY 用平均值替换一行中的 NULL 值

mysql - 我试图从 LEFT JOIN 中只获取一行

php - MySQLi/PHP - 从一个数据库中提取数据。插入到另一个数据库

sql - Oracle Connect By Prior 递归查询语法