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

  • ELawshea

    ELawshea

    26 Mayıs 2008
  • expertvillage

    expertvillag

    5 NİSAN 2006
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006