0
我需要创建一个巨大的表叫工人(id_worker
是主键)和许多其他列像name
,date_of_birth
等继承在MySQL
我还需要创建继承这一个其他几个表(来自公司的所有不同类型的员工)。它们都具有来自工作人员的属性(name
,date_of_birth
)以及相同的主键(id_worker
)。
我读过,我不能在MySQL中这样做,因为它不支持继承。我该怎么做呢?
我需要创建一个巨大的表叫工人(id_worker
是主键)和许多其他列像name
,date_of_birth
等继承在MySQL
我还需要创建继承这一个其他几个表(来自公司的所有不同类型的员工)。它们都具有来自工作人员的属性(name
,date_of_birth
)以及相同的主键(id_worker
)。
我读过,我不能在MySQL中这样做,因为它不支持继承。我该怎么做呢?
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;
对不起没有校对和坏命名...
我不明白你实际上是试图做 – Strawberry
据我理解你的问题,你可以使用常规的加入来获得相同影响。 –
你可以用任何sql来进行继承,并且有几种方法可以完成它;最好的依赖于问题(例如单视图或多表视图)。如果他们都有相同的*精确*字段,没有额外的字段,那么您实际上只需要一个'employeeType'的列。我可能会为这些可扩展的表创建一个枚举表。 – ChiefTwoPencils