2016-03-06 66 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; 

對不起沒有校對和壞命名...