连接表上2列的唯一键

时间:2014-07-29 10:50:29

标签: mysql sql database

你好我有2张桌子。

     A                              B
|-----|--------------|    |------|-------|--------|
| ID  |  aText       |    | ID   | aId   | bText  |
|-----|--------------|    |------|-------|--------|
| 1   |  test        |    | 10   |  1    |  zzzzz |
|-----|--------------|    |------|-------|--------|

是否可以在bText上创建一个与aText组合的唯一键?

aText和bText在其serperataded表中是唯一的。

3 个答案:

答案 0 :(得分:2)

完全没有。您应该使用一个父

的表
|------|-------|--------|
| ID   |Parent | Text   | 
|------|-------|--------|
| 1    |       | zzzzz  |
|------|-------|--------|
| 10   |   1   | yyyyy  |
-------------------------

ID列的父列外键,它的意思是自我引用。

答案 1 :(得分:0)

如果表aTextUNIQUEA,则为是;在表UNIQUE INDEX

(aId,btext)上创建B

否则我认为您的当前数据结构不可能。

答案 2 :(得分:0)

是的,你可以为bText创建唯一的密钥。但为什么你想要与aText结合。如果在两个表中都有id作为唯一键,则可以使用where子句访问具有匹配id约束na的任何列。