2016-03-06 68 views
0

我需要创建一个巨大的表叫工人(id_worker是主键)和许多其他列像namedate_of_birth继承在MySQL

我还需要创建继承这一个其他几个表(来自公司的所有不同类型的员工)。它们都具有来自工作人员的属性(name,date_of_birth)以及相同的主键(id_worker)。

我读过,我不能在MySQL中这样做,因为它不支持继承。我该怎么做呢?

+1

我不明白你实际上是试图做 – Strawberry

+0

据我理解你的问题,你可以使用常规的加入来获得相同影响。 –

+0

你可以用任何sql来进行继承,并且有几种方法可以完成它;最好的依赖于问题(例如单视图或多表视图)。如果他们都有相同的*精确*字段,没有额外的字段,那么您实际上只需要一个'employeeType'的列。我可能会为这些可扩展的表创建一个枚举表。 – ChiefTwoPencils

回答

-1
CREATE TABLE workers(id INT(11) NOT NULL, name VARCHAR(64), date_of_birth DATE); 
CREATE TABLE worker_type(id INT(11) NOT NULL, name VARCHAR(64)); 
CREATE TABLE workers_types(worker_id INT(11) NOT NULL, woker_type_id INT(11) NOT NULL); 

SELECT workers.name, worker_type.name FROM workers 
LEFT JOIN workers_types ON workers_types.worker_id = workers.id 
LEFT JOIN worker_type ON worker_type.id = workers_types.worker_type_id; 

对不起没有校对和坏命名...