从两个不同的表插入一列到表的2列

时间:2015-05-03 08:52:34

标签: sql codeigniter

这可能是样本数据库

TABLE A-----> TABLE B <-----TABLE C

箭头表示关系

TABLE A 
{ 
   tblA_col1 <----primary key
} 
TABLE A
 (tblA_col1)
  | A_1  |<----data


TABLE C 
{ 
  tblC_col1 <----primary key
}
TABLE C
 (tblC_col1)
  | C_1  |<----data
  | C_2  |
  | C_3  |


TABLE B
{
  tblB_col1 <----primary key
  tblA_col1 <----col from table A
  tblC_col1 <----col from table C
}
TABLE B
(tblB_col1 |  tblA_col1  |  tblC_col1)
|   B_1    |     A_1     |    C_1    |
|   B_2    |     A_1     |    C_2    |
|   B_3    |     A_1     |    C_3    |   

现在我的问题是如何只用一个查询在TABLE B中插入数据?

2 个答案:

答案 0 :(得分:1)

insert into B (tblA_col1, tblC_col1 )
select A.tblA_col1, C.tblC_col1 from 
A, C; 

这是你想要的吗?

答案 1 :(得分:0)

请参阅此主题,因为答案与您的问题有关。

  

MySQL不支持在单个INSERT语句中插入多表

     

但是,您可以使用交易并将它们都包含在一个交易中

sql - insert into multiple tables in one query