比较笨的办法:从一个表(table1)中按字段(column3='456'),取出一条记录,插入到另一个表(table2)中
INSERT INTO database1.table1 SELECT 123,column1,column2,'some_text_not_exist_in_table1_but_table2_needs',column3 from database1.table2 where column3='456';
注意:
- where后面的条件column3='456' 等于号后面要用单引号,否则报错
- "123,column1,column2...column3" 这几个字段的顺序要按照它们在table2中的顺序,且字段数目一致
- table2中需要的,但是在table1中没有的字段,可以直接写上相应的值,和字段名一起逗号隔开,insert。如本例中id和text字段是table1中没有的,但是table2需要有。于是上述语句中直接写入了123和'some_text_not_exist_in_table1_but_table2_needs'这两个值。
table1表结构
... | column1 | column2 | column3 | ... |
... | xxx | xxx | 456 | ... |
... | ... |
table2表结构(从table1中复制过来之后的)
id | column1 | column2 | text | column3 |
123 | xxx | xxx | some_text_not_exist_in_table1_but_table2_needs | 456 |
... | ... |