SQL - (外键?)约束表名?

时间:2018-03-09 22:29:16

标签: mysql sql foreign-keys constraints

如果这样的事情是可能的,我很好奇,如果合情理的话。 我在表格中有一列,称为__init__.py,它指向当前条目所涉及的表格。让我们说,在表ref_table中,table_people 1是客户端,Person ID 3是员工,因此他们的Person ID将分别显示" table_clients& #34;和" table_emplyees"。我不应该通过PHP保持值有效的问题,但通过SQL实现它的一些方法是什么?

我尝试使用外键约束对INFROMATION_SCHEMA进行测试:

ref_tables

没有必要改进它,因为它没有工作。似乎有一种方法可以让它发挥作用但显然是一种肮脏的作弊。

你会用触发器做到吗?你会这样做吗?有MySQL经验的人告诉我,这是否合理,我想知道。谢谢。

1 个答案:

答案 0 :(得分:1)

MySQL没有办法轻松完成这项工作。其他数据库通过生成的列或表继承来完成。

我会使用触发器执行此操作吗?嗯,是的,不。如果我必须使用一个表来执行此操作并且我必须使用MySQL并且我想引入关系完整性,那么触发器是可行的方法。别无选择。

但实际上,我会为每种引用类型设置一个不同的表。这有一点点开销(就部分填充表而言)。对于某些应用程序,单个参考表非常方便(想到国际化)。但总的来说,我会坚持使用正确声明的外键关系的每个实体的单独表的标准方法。