0

表格1

ID

表2

ID

表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;
}

是否存在插入/选择语句?还是我必须使用循环?

4

1 回答 1

0

您根本不需要使用循环。使用关系数据库时,您应该考虑 SETS。

这是实现这一目标的正确方法。首先使用CROSS JOIN来创建一个包含 table1 和 table2 中所有 id 组合的笛卡尔集。然后将整个集合插入 table3 注意:我假设 Table3 ID 是自动编号。

INSERT INTO TABLE3 (TABLE1_ID,TABLE2_ID)
SELECT  T1.ID
        ,T2.ID
FROM    TABLE1 T1
CROSS JOIN
        TABLE2 T2
于 2013-08-22T15:12:15.287 回答