OR
कीवर्ड MySQL के अनुकूलक को पागल बनाता है।
आप कुछ इस तरह की कोशिश कर सकते हैं।
SELECT name FROM table WHERE lang_index='en' AND name LIKE 'myname%'
UNION
SELECT name FROM table WHERE lang_index='en' AND enam LIKE 'myname%'
या आप FULLTEXT खोज पर विचार कर सकते हैं। इसके लिए MyISAM या MySQL 5.6 या बाद के संस्करण की आवश्यकता है।
संपादित करें *यह जानना मुश्किल है कि इन अनुकूलन चीजों के साथ क्या हो रहा है। क्या आप यह कोशिश कर सकते हैं? यह देखेगा कि भाषा चयन आपको परेशान कर रहा है या नहीं।
SELECT name
FROM table
WHERE (name LIKE 'myname%' OR enam LIKE 'myname%')
क्या आप इसे आजमा सकते हैं?
SELECT name FROM table WHERE lang_index='en' AND name LIKE 'myname%'
UNION ALL
SELECT name FROM table WHERE lang_index='en' AND enam LIKE 'myname%'
यह सही परिणाम नहीं देगा -- इसमें डुप्लिकेट नाम आइटम होंगे -- लेकिन यह एक DISTINCT
को छोड़ देगा आपकी क्वेरी में डुप्लिकेटिंग चरण।
आप इसे भी आजमा सकते हैं।
SELECT name
FROM table
WHERE lang_index='en'
AND id IN (
SELECT id from table
WHERE (name LIKE 'myname%' OR enam LIKE 'myname%'))