2014-11-21 144 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'))