DBAtlas · Veritabanı operasyon atlası

1231: Variable can't be set to the value of ...

MySQL

Ne demek?

Bir sistem/oturum değişkenine (SET komutuyla) verilmeye çalışılan değer geçersiz. Değişken için verilen değer izin verilen kümenin dışında, yanlış türde ya da uygunsuz bir formatta olduğu için reddedildi.

Neden olur?

Sık örnekler: sql_mode'a geçersiz/yanlış yazılmış bir mod adı atanması, bir enum değişkenine tanımsız bir seçenek verilmesi, ya da NULL kabul etmeyen bir değişkene NULL atanması. Yanlış birim/aralıkta sayısal değerler de tetikleyebilir.

Nasıl çözülür?

Değişkenin kabul ettiği geçerli değerleri ve türünü doğrulayın; enum/SET türü değişkenlerde (ör. SET türündeki sql_mode) değer/mod adlarını tam ve doğru yazın, birden çoğunu virgülle ayırın. Geçerli değer aralığını belgeye göre kontrol edin. sql_mode gibi listelerde mevcut değeri okuyup (SELECT @@sql_mode) üzerine güvenli biçimde ekleme/çıkarma yapın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar