MySQL'de Strict Modu Açma / Kapatma
Bir iş için lazım oldu.
Localde çalışan bazı sql sorguları, kurduğum sunucuda çalışmıyordu.
Bir firmaya yaptırılan iş sonucunda bu hatayı alıyorduk.
Biraz inceleyince, DB'deki tabloların kolonlarının boş geçilemez olduğunu gördüm. Ardından kodları incelemeye başladığımda SQL deyimlerinde boş geçilemez olarak görünen alanların yazılmadığını gördüm.
Biraz araştırınca sonuca ulaştım. Ne kadar sağlıklı tartışmak lazım; fakat çözümün SQL'in strict modunu kapatmaktan geçtiği ortaya çıktı.
Yapılacak işlem çok basit. Veritabanınızı açın ve aşağıdaki kodu yapıştırıp çalıştırın.
SHOW VARIABLES LIKE 'sql_mode';
Eğer sonuç olarak şu şekilde bir sonuç dönüyorsa strict mode açık demektir.
sql_mode | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
Strict Modu kapatmak için aşağıdaki kodu çalıştırıyoruz.
set global sql_mode='';
Diyelim vazgeçtik, tekrar açmak istiyoruz. O zaman da;
set global sql_mode='STRICT_TRANS_TABLES';
Evet, hepsi bu kadar...
Yorum Yap