我有两张叫做律师和律师的桌子。 client.And他们是我的网站的用户。所以我有另一个名为users的表来存储他们的用户名,密码。但我必须添加一个引用clientID(从客户端表),lawyerId(从律师表)到用户的外键表。 我怎么能这样做?
答案 0 :(得分:3)
这听起来倒退了;作为律师和客户端是用户,他们的ID应该引用users表中的ID,而不是相反(不是每个用户都是律师和客户;事实上,有些人可能都不是。)或者我是否误读了你写的内容? / p>
答案 1 :(得分:1)
单个主键列不能有多个外键引用。下面是一个简单的示例,说明如何重新设计架构以满足您的需求。
mysql> CREATE TABLE Users(
-> userID VARCHAR(20) NOT NULL PRIMARY KEY,
-> password VARCHAR(20) NOT NULL
-> )
-> ENGINE=INNODB;
mysql> CREATE TABLE Client(
-> userID VARCHAR(20) NOT NULL PRIMARY KEY,
-> FOREIGN KEY (userID) REFERENCES Users (userID)
-> )
-> ENGINE=INNODB;
mysql> CREATE TABLE Lawyer(
-> userID VARCHAR(20) NOT NULL PRIMARY KEY,
-> FOREIGN KEY (userID) REFERENCES Users (userID)
-> )
-> ENGINE=INNODB;