SORU
12 HAZİRAN 2010, CUMARTESİ


Sorun giderme "alfabe" Yasadışı karışımı; mysql hata

Ben MySQL saklanan bir yordam aracılığıyla bir seçme yapmaya çalışırken aşağıdaki hata alıyorum.

Alfabe yasadışı karışımı (latin1_general_cs,ÖRTÜLÜ) ve () latin1_general_ci,ÖRTÜLÜ operasyon için '='

Burada yanlış gidiyor olabilir ne herhangi bir fikir?

Tablo harmanlama latin1_general_ci ve Madde latin1_general_cs bulunduğu sütun.

CEVAP
12 HAZİRAN 2010, CUMARTESİ


Bu genellikle kombine bir sütun farklı veri karşılaştırma seçmek için deneyerek uyumlu harmanlama iki dizeleri karşılaştırarak ya da neden olur.

Yan COLLATE harmanlama sorguda kullanılan belirlemenizi sağlar.

Örneğin, WHERE aşağıdaki fıkra her zaman sana gönderilen hata verecektir:

WHERE 'A' COLLATE latin1_general_ci = 'A' COLLATE latin1_general_cs

Çözüm sorgu içinde iki sütun için ortak bir alfabe düzeni belirtmek için. İşte bir örnek COLLATE tümcesi kullanır:

SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;

Başka bir seçenek BINARY operator

İKİLİ str FIRLATMAK için steno(İKİLİ str OLARAK).

Çözüm böyle bir şey olabilir:

SELECT * FROM table WHERE BINARY a = BINARY b;

Ya da,

SELECT * FROM table ORDER BY BINARY a;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DanceOn

    DanceOn

    6 Mayıs 2006
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009
  • ThreadBanger

    ThreadBanger

    2 Mart 2007