我有一堆LIKE状态的查询。我想optiimze /解释查询,运行良好。但是,如果我复制此:使用MySQL LIKE的正确语法?
SELECT a.*, p.ek, p.vk, p.waehrung, p.onlinepreis
FROM arts a USE INDEX (i_aktiv, i_iln, i_marke)
LEFT JOIN pls p ON
p.iln = a.iln
LEFT JOIN fbs zu
ON a.farbe = zu.farbe
WHERE a.aktiv = "ja"
AND (
a.artikelbezeichnung LIKE ?
OR a.artikelbezeichnung_lang LIKE ?
OR ( a.farbe LIKE '%decke%'
OR zu.systemfarbe LIKE '%decke%'
OR zu.systemfarbe_en LIKE '%decke%'
)
)
)
...
正如我想添加'%decke%'
但MySQL总是抛出一个错误,如果我用%%
参数。
任何想法我做错了什么?
我得到的错误是:
你有你的SQL语法错误...... '在OR(a.farbe LIKE' 检查近视...% '%' decke%% decke%” ......
和错误。是......究竟是什么? – paxdiablo 2012-07-31 02:42:52
我已经使用了确切的格式,它对我来说工作得很好。 – cstrat 2012-07-31 02:47:00
嗯......能不能是%'%'? – frequent 2012-07-31 02:47:27