Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
表格1
ID
表2
表3
id|table1_id|table2_id
我需要 SQL(使用 MySQL)语句:
for each row in table1 { for each row in table2 { insert in table3 values table1.id, table2.id; }
是否存在插入/选择语句?还是我必须使用循环?
您根本不需要使用循环。使用关系数据库时,您应该考虑 SETS。
这是实现这一目标的正确方法。首先使用CROSS JOIN来创建一个包含 table1 和 table2 中所有 id 组合的笛卡尔集。然后将整个集合插入 table3 注意:我假设 Table3 ID 是自动编号。
CROSS JOIN
INSERT INTO TABLE3 (TABLE1_ID,TABLE2_ID) SELECT T1.ID ,T2.ID FROM TABLE1 T1 CROSS JOIN TABLE2 T2