多个表的条件外键

Nay*_*kar 5 mysql foreign-keys

我有一个表,其中包含两种类型的数据,要么是公司数据,要么是员工数据。

通过“C”或“E”以及存储其主键的列来识别该数据。

那么我如何根据包含的数据给出外键并动态维护引用完整性。

id | referenceid  | documenttype 
-------------------------------
1  | 12           | E 
2  | 7            | C 
Run Code Online (Sandbox Code Playgroud)

现在,id 为 1 的行应引用 pk 12 的 Employee 表,而 id 2 的行应引用 pk 7 的 Company 表。

否则我必须为两者制作两个不同的表格。有没有其他方法可以实现它。

Xin*_*nt0 3

如果您确实想这样做,可以有两个可为空的列,一个用于 CompanyId,一个用于 EmployeeId,充当外键。

但我希望您尝试检查数据库模式设计。