SELECT categories_id, categories_name, parent_id, sort_order, date_added, is_active
FROM ct_testing_menu_title
where parent_id='0'
where All Fields like '%local%'
order by `sort_order` ASC
LIMIT 0, 25
错误:
#1064
- 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在'所有字段如'%local%'的位置附近使用sort_order
ASC LIMIT 0,25'在第1行附近使用正确的语法
答案 0 :(得分:2)
ALL
是MySQL保留字
在子查询中使用:
使用以下语法:
SELECT s1 FROM t1 WHERE s1 > ALL (SELECT s1 FROM t2);
您可能打算使用和删除查询中where
的一个:
旁注: 您只能在查询中使用单个 WHERE
。
where parent_id='0' AND categories_id like '%local%' order by `sort_order` ASC
LIMIT 0, 25
或使用OR
代替AND
,具体取决于查询
where parent_id='0' OR categories_id like '%local%' order by `sort_order` ASC
LIMIT 0, 25
您可能想检查是否在所有列中找到了搜索,在这种情况下,您需要使用实际的列名称,由AND
和/或OR
分隔,具体取决于标准:
where parent_id='0'
AND categories_id LIKE '%local%'
AND categories_name LIKE '%local%'
AND parent_id LIKE '%local%'
AND sort_order LIKE '%local%'
AND date_added LIKE '%local%'
AND is_active LIKE '%local%'
order by `sort_order` ASC
LIMIT 0, 25
或:
where parent_id='0'
OR categories_id LIKE '%local%'
OR categories_name LIKE '%local%'
OR parent_id LIKE '%local%'
OR sort_order LIKE '%local%'
OR date_added LIKE '%local%'
OR is_active LIKE '%local%'
order by `sort_order` ASC
LIMIT 0, 25
答案 1 :(得分:0)
在WHERE条件之后确实存在问题。
where All Fields
应为WHERE <Field_Name> like '%local%' order by sort_order
...
答案 2 :(得分:0)
SELECT categories_id, categories_name, parent_id, sort_order, date_added, is_active FROM ct_testing_menu_title where parent_id='0' AND `All` Fields like '%local%' order by sort_order ASC LIMIT 0, 25
你也使用OR运算符
答案 3 :(得分:0)
您在同一查询中不能有两个WHERE
子句。如果要测试多个条件,请将它们与AND
连接。
其次,你不能只说All Fields
。您需要明确指定列。所以它应该是:
SELECT categories_id, categories_name, parent_id, sort_order, date_added, is_active
FROM ct_testing_menu_title
where parent_id='0'
AND Field1 like '%local%'
AND Field2 LIKE '%local%'
AND Field3 LIKE '%local%'
order by `sort_order` ASC
LIMIT 0, 25
将Field1
,Field2
等替换为您要匹配的列的实际名称。