2010-08-23 100 views
0

我試圖做一個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` 

預先感謝您的任何建議

回答

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 .... 
+0

不適合我;似乎仍然有第二個where子句(用於插入)的問題;錯誤的語法 – Kyobul 2010-08-23 08:04:20

+0

是的,你不能寫第二個where子句那樣 – 2010-08-23 08:06:00

+0

好吧! PHP會做到這一點,只是試圖做到這一切的MySQL的:) – Kyobul 2010-08-23 08:07:34

0

該synt對於INSERT INTO,ax通常是

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

您需要簡化查詢並思考您正在嘗試執行的操作。

0

我的問題不好。在這種情況下,它不是插入,而是需要更新查詢