如何将一列与另一个表中的另一列相关联?我会在另一个表中创建一个具有相同名称的列吗?
答案 0 :(得分:2)
您需要建立FOREIGN KEY
关系。在本例中,Main_Table.id
被引用为Related.main_table_id
Main_Table:
----------
id INT NOT NULL AUTO_INCREMENT,
value1 VARCHAR(8),
value2 VARCHAR(8)
Related:
---------
id INT NOT NULL AUTO_INCREMENT,
-- The related column doesn't have to have the same name
-- This column references Main_Table
main_table_id INT NOT NULL
-- The FOREIGN KEY constraint enforces the relationship
FOREIGN KEY (main_table_id) REFERENCES Main_Table (id)
此外,您可以通过删除和更新来强制执行密钥关系。如果Main_Table
中的行已删除或其id
已更改,您可以强制更改通过相关表级联:
FOREIGN KEY (main_table_id) REFERENCES Main_Table (id) ON DELETE CASCADE ON UPDATE CASCADE
-- Or NULL it rather than delete it
FOREIGN KEY (main_table_id) REFERENCES Main_Table (id) ON DELETE SET NULL ON UPDATE CASCADE
答案 1 :(得分:1)
您想要的功能称为外键。为此目的,DB不会对列名称进行格式化。