MYSQL 在现有 table 中创建关系
MYSQL create relationships in existing table
我已经有了一个很大的table,里面有很多栏目。现在我尝试将 table 拆分为单独的较小 table 并创建一些关系。
例如:在我的例子中,部门名称直接写在员工 table 中。现在我想拆分它们并创建关系(Sub to D#)
如何将它们分开?并从 Employee table?
中删除部门名称
一个例子:
CREATE TABLE sub (id INT AUTO_INCREMENT PRIMARY KEY)
SELECT DISTINCT val2
FROM src;
ALTER TABLE src
ADD COLUMN sub_id INT,
ADD FOREIGN KEY (sub_id) REFERENCES sub (id);
UPDATE src
JOIN sub USING (val2)
SET src.sub_id = sub.id;
ALTER TABLE src
DROP COLUMN val2;
db<>fiddle here(有一些解释)。
我已经有了一个很大的table,里面有很多栏目。现在我尝试将 table 拆分为单独的较小 table 并创建一些关系。 例如:在我的例子中,部门名称直接写在员工 table 中。现在我想拆分它们并创建关系(Sub to D#)
如何将它们分开?并从 Employee table?
中删除部门名称一个例子:
CREATE TABLE sub (id INT AUTO_INCREMENT PRIMARY KEY) SELECT DISTINCT val2 FROM src;
ALTER TABLE src ADD COLUMN sub_id INT, ADD FOREIGN KEY (sub_id) REFERENCES sub (id);
UPDATE src JOIN sub USING (val2) SET src.sub_id = sub.id;
ALTER TABLE src DROP COLUMN val2;
db<>fiddle here(有一些解释)。