INSERT SELECT with condition

时间:2010-08-23 07:41:09

标签: mysql insert

我正在尝试使用条件执行INSERT SELECT,但是smthg似乎是错误的。错误的语法我得到1064错误。

以下是查询:

INSERT INTO  `db1`.`table`.`field` (

SELECT a.`field1` , a.`field2` 
FROM  `db2`.`table1` a,  `db2`.`table2` b
WHERE a.`field1` = b.`field1` 
AND b.`field2` =  'value'
)

WHERE a.`field1` =  `db1`.`table1`.`field1`

提前感谢任何建议

3 个答案:

答案 0 :(得分:1)

插入选择的语法是:

INSERT california_authors (au_id, au_lname, au_fname)
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'

所以在你的情况下它就像

  INSERT INTO  `db1`.`table` (.... field list ...)
  select 
    ... col for select .....
  from table 
  where ... where condition ....  

答案 1 :(得分:0)

INSERT INTO的语法通常是

INSERT INTO myTable (field1,field2,...,fieldN)
SELECT field1,field2,etc FROM myTable WHERE condition

您需要简化查询并思考您尝试做的事情。

答案 2 :(得分:0)

我的问题很糟糕。在这种情况下,它不是Insert,而是需要的更新查询