表1:
col1 | col2
-------------
0 value1
1 value1
2 value1
0 value2
1 value2
2 value3
主键是col1和col2在一起
表2:
col1 | col3
-------------
0 name1
1 name2
2 name3
主键是col1。 table1中的col1表示table2中的col1。
如果col1 + col2密钥对尚不存在,我需要一个mysql查询,该查询遍历table1中的每个不同col2,并且对于table2中的每个col1 INSERTS一列。
所以基本上在运行此查询后,table2应该看起来一样,table1应该如下所示:
col1 | col2
-------------
0 value1
1 value1
2 value1
0 value2
1 value2
2 value2
0 value3
1 value3
2 value3
我知道如何使用php中的循环执行此操作,但我正试图摆脱学习更多sql。
答案 0 :(得分:8)
INSERT IGNORE INTO `table1`
SELECT DISTINCT `table2`.`col1`, `table1`.`col2`
FROM `table1`
JOIN `table2`