如何在MySQL中将一个表与另一个表相关联(最好使用PHPMyAdmin)

时间:2011-11-17 20:13:32

标签: mysql

如何将一列与另一个表中的另一列相关联?我会在另一个表中创建一个具有相同名称的列吗?

2 个答案:

答案 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

See the documentation for full details.

答案 1 :(得分:1)

您想要的功能称为外键。为此目的,DB不会对列名称进行格式化。