当我从外部引用一个表时,将该列声明为唯一有什么意义吗?
我的意思当然是我所引用的那一列是独一无二的。
最佳答案
是的,请想象以下场景:
表 1 的 id 字段是您的外键。它是一个唯一索引。
Table 1:
________________________
| id | value | blah... |
|----|--------|---------|
| 0 | val 1 | .... |
|----|--------|---------|
| 1 | val 2 | .... |
|----|--------|---------|
... ... ...
现在表2有两种可能。
1) table_1_id 不唯一
Table 2:
_____________________________
| id | table_1_id | blah... |
|----|-------------|---------|
| 0 | 1 | .... | <------ Duplicates are okay!
|----|-------------|---------| <--/
| 1 | 1 | .... |
|----|-------------|---------|
... ... ...
2) table_1_id 是唯一的
Table 2:
_____________________________
| id | table_1_id | blah... |
|----|-------------|---------|
| 0 | 1 | .... |
|----|-------------|---------|
| 1 | n | .... | <------- Cannot be 1, no duplicates
|----|-------------|---------|
... ... ...
关于mysql - 将该列声明为唯一有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636349/