如何在多对多关系上 MySQL CRUD select
How to do MySQL CRUD select on a many to many relationship
我正在尝试对与中介 table(关联 table)的多对多关系执行创建、Select、更新和删除操作。
我有以下结构。假设名称匹配的中介 table 中的 FK 约束。
tbl_A 和 tbl_B 具有多对多关系。
tbl_IM是中介table.
tbl_A
aID
Name
tbl_B
bID
Name
UniqueField
Intermediary Table tbl_IM
imID
aID
UniqueField
一个tbl_A项可以有很多tbl_B项,一个tbl_B项可以属于很多tbl_A项。
tbl_B 通常是一组固定的 18 条左右的记录(用于程序中允许的选择)。
如何 Select 和更新属于特定 tbl_A 项目的所有 tbl_B 项目?我如何获得整套 tbl_A 项及其关联的 tbl_B 项?
请不要使用通配符 (Select *)。为了简洁起见,我的示例每个只有 2 个字段;我需要看看它是如何通过使用字段来完成的。转换是 acceptable-- 所以 P1.aID 没问题。
我看过问题Select in a many-to-many relationship in MySQL
但我不清楚它如何适用于我的情况。
创建将显示所需字段的视图
CREATE VIEW combined AS SELECT tbl_A.name, tbl_B.bName
FROM tbl_B INNER JOIN (tbl_A INNER JOIN tbl_M ON tbl_A.ID = tbl_M.AId) ON tbl_B.unique = tbl_M.Unique;
然后就可以像视图一样对视图进行增删改查了table
我正在尝试对与中介 table(关联 table)的多对多关系执行创建、Select、更新和删除操作。 我有以下结构。假设名称匹配的中介 table 中的 FK 约束。
tbl_A 和 tbl_B 具有多对多关系。 tbl_IM是中介table.
tbl_A
aID
Name
tbl_B
bID
Name
UniqueField
Intermediary Table tbl_IM
imID
aID
UniqueField
一个tbl_A项可以有很多tbl_B项,一个tbl_B项可以属于很多tbl_A项。
tbl_B 通常是一组固定的 18 条左右的记录(用于程序中允许的选择)。
如何 Select 和更新属于特定 tbl_A 项目的所有 tbl_B 项目?我如何获得整套 tbl_A 项及其关联的 tbl_B 项?
请不要使用通配符 (Select *)。为了简洁起见,我的示例每个只有 2 个字段;我需要看看它是如何通过使用字段来完成的。转换是 acceptable-- 所以 P1.aID 没问题。
我看过问题Select in a many-to-many relationship in MySQL 但我不清楚它如何适用于我的情况。
创建将显示所需字段的视图
CREATE VIEW combined AS SELECT tbl_A.name, tbl_B.bName
FROM tbl_B INNER JOIN (tbl_A INNER JOIN tbl_M ON tbl_A.ID = tbl_M.AId) ON tbl_B.unique = tbl_M.Unique;
然后就可以像视图一样对视图进行增删改查了table