2011-10-03 17 views
5

Aramam, küçük harfe duyarlı, ancak büyük/küçük harfe duyarlı olmamasını istiyorum. MySQL'de veritabanı ve tablomu utf8_general_ci olarak ayarlıyorum. Arama hâlâ büyük/küçük harfe duyarlıdır. Biraz araştırma yapıyorum ve bunun arkasındaki sebebin sorgumda BOOLEAN MODE olduğunu düşünüyorum. Durumun duyarsız hale getirilmesinin bir yolu var mı? Bu yüzden herhangi bir duyarlılık ile herhangi bir kelimeyi nasıl yazsam da, her zaman arama sonucuna getirecektir?mysql query BOOLEAN MODE Büyük/Küçük Harfe Duyarlılık

SELECT 
     s_cost_sheet.partnumber, 
     s_cost_sheet.description, 
     s_cost_sheet.price, 
     s_cost_sheet.notes 

    FROM s_cost_sheet 
    WHERE MATCH (partnumber, description, price, notes) 
    AGAINST('%".$search."%' IN BOOLEAN MODE) ORDER BY partnumber, description, price, notes ASC"; 

Ben phpMyAdmin'de arama sınanmıştır ve olursa olsun bir tür kelime plakası, bu Tabak, TABAK, plaka nasıl olabilir çalışır. Her şey yolunda gidiyor, bu yüzden bu konuya neden olan bir şey olmalı.

+0

Sütunlar hakkında ne var? Onlar da utf8_general_ci? – Karolis

+0

evet, onlar da utf8_general_ci – asar

+0

için ayarlanmış Ben çift tırnak olmadan düşünüyorum bu iyi çalışması gerekir. Neden yüzde sembolleri kullanıyorsunuz? ".search." Ile – Karolis

cevap

1

Sütunlardan biri int veya nümerikse, arama büyük/küçük harfe duyarlıdır. Ayrıca aranan dize 0% kullanmanıza gerek yoktur

+0

Evet, bu doğru. Onları, ondalık olarak 2 sütun kullanmak yerine hepsini VARCHAR olarak değiştirdim. Teşekkürler! – asar

0

TL utf8_general_ci için masa ve sütun değişen ve aynı zamanda daha hızlı sonuç gerekiyorsa ORDER BY maddesi ile kolonların bir sürü kullanmaktan kaçının FULL TEXT Search

ÖNERİLER ile % joker kullanmak zorunda değilsiniz.

+0

Tablo ve sütun utf8_general_ci'ye ayarlanmış ve hala bu şekilde davranıyor. – asar