2014-11-21 155 views
0

我有一個MySQL查詢,保持一個錯誤回來「插入到其中」 語句錯誤

錯誤:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' iOS= 0, Android= 0, sport IN (football,tennis,' at line 2 

整個查詢是

INSERT INTO table2 
SELECT * 
FROM table1 
WHERE iOS = 0 
    , android = 0 
    , sport IN (football,tennis,golf) 

(iOS和Android列是布爾值和運動是一個VARCHAR

查詢是米無法獲得iOS/Android欄目爲0且體育欄目值爲足球或網球或高爾夫的所有條目。

哪裏出錯?感謝您的幫助

+2

使用'和'而不是逗號當我將其更改爲「和」我的錯誤錯誤來構建你的病情 – 2014-11-21 10:26:27

回答

2

更多onditions使用ANDOR包括在內。未知列「足球」在:

INSERT INTO table2 
SELECT * FROM table1 
WHERE iOS = 0 
AND android = 0 
AND sport IN ('football', 'tennis', 'golf') 
1

WHERE說法是錯誤的。您必須在子句之間添加AND條件。

WHERE iOS = 0 AND android = 0 AND sport IN ('football', 'tennis', 'golf') 
+0

文字字符串使用引號分隔'where clause' – unknownSPY 2014-11-21 10:32:54

+0

解決了一個問題,還有更多..引用你的字符串。 – 2014-11-21 10:37:00

+0

爲括號內的值添加引號。 – wayzz 2014-11-21 10:37:42

1

只需鍵入 insted的的,(逗號)和單引號寫體育名

INSERT INTO table2 SELECT * FROM table1 WHERE `iOS` = 0 and android = 0 and (sport IN ('football','tennis','golf'))