MySQL'de saklı yordamım Mysql::Error: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
ile başarısız olur.Saklı yordamlarda harmanlamaların geçersiz bir şekilde karıştırılması
Bu yordam, SELECT
tümcesinde VARCHAR
sütununu VARCHAR
parametresiyle karşılaştırmayı dener.
Tablolarımdaki tüm sütunlar utf8_unicode_ci
harmanlamasına sahiptir. Veritabanı harmanlaması aynıdır. /config/database.yml dosyasında harmanlama bile belirttim.
>> ActiveRecord::Base.connection.select_rows "show variables like '%colla%'"
=> [["collation_connection", "utf8_general_ci"], ["collation_database", "utf8_unicode_ci"], ["collation_server", "utf8_general_ci"]]
Ve belki de en ilginç gerçek ben bile gelen harmanlama değişkenler için sorgulama (aynı alfabe ile aynı MySQL sunucusundaki başka bir veritabanı olması: Ben /script/console
çalıştırdığınızda
Ancak, şu değişkenler belirledik Rails konsolu aynı sonuçları verir) bu saklı yordamı sorunsuz bir şekilde çalıştırır.
Yardımlarınız için teşekkürler. çabuk saptamak için
benim tablolardan biri benim veritabanında Inproper utf8_general_ci' seti 'ayarlı harmanlama olduğunu hangi olduğu ve bu sebep. Bu soruya zaman ayırdığınız için teşekkür ederim. – skalee