ऐसा करने के 2 तरीके हैं।
- वर्तमान मैसकल सत्र (अस्थायी समाधान) के लिए
अपने MySQL सर्वर का वर्तमान SQL मोड प्राप्त करने के लिए पहले क्वेरी निष्पादित करें।
mysql> SELECT @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------+
|STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
यदि परिणाम में STRICT_TRANS_TABLES
है , आपको सम्मिलित क्वेरी को NULL मान पास करने की अनुमति देने के लिए उस मान को हटाना होगा। सुनिश्चित करें कि आपके mysql उपयोगकर्ता के पास इन परिवर्तनों को लागू करने के लिए विशेषाधिकार हैं और इसे लागू करने के बाद Mysql सर्वर को पुनरारंभ करें।
SET GLOBAL sql_mode = '';
- Mysql के लाइफ टाइम (स्थायी समाधान) के लिए
आपको my.cnf फाइल को अपडेट करना होगा। उस फ़ाइल का स्थान है:\etc\my.cnf या \etc\mysql\mysql.cnf
[mysqld] के तहत कुछ डिफ़ॉल्ट पैरामीटर सेट होंगे जैसे
[mysqld]
innodb_file_per_table=1
default-storage-engine=MyISAM
performance-schema=0
max_allowed_packet=268435456
open_files_limit=10000
बस उसके नीचे एक लाइन जोड़ें
sql-mode=""
इस फ़ाइल को बदलने के बाद MySQL सर्वर को पुनरारंभ करना सुनिश्चित करें। आम तौर पर रूट उपयोगकर्ता फ़ाइल का स्वामी होगा इसलिए आपको सर्वर पर रूट उपयोगकर्ता के साथ लॉगिन करना होगा।
अधिक विवरण के लिए यह समझने के लिए कि यह SQL मोड क्या करता है।
STRICT_TRANS_TABLES
ट्रांजेक्शनल स्टोरेज इंजन के लिए सख्त SQL मोड सक्षम करें, और जब संभव हो गैर-लेन-देन स्टोरेज इंजन के लिए। विवरण के लिए, सख्त SQL मोड देखें।
देखें:http://dev.mysql.com /doc/refman/5.7/hi/sql-mode.html#sqlmode_strict_trans_tables
NO_AUTO_CREATE_USER
GRANT स्टेटमेंट को स्वचालित रूप से नए उपयोगकर्ता खाते बनाने से रोकें यदि वह अन्यथा ऐसा करेगा, जब तक कि प्रमाणीकरण जानकारी निर्दिष्ट न हो। स्टेटमेंट में IDENTIFIED BY का उपयोग करके या IDENTIFIED with का उपयोग करके प्रमाणीकरण प्लगइन का उपयोग करके एक गैर-रिक्त पासवर्ड निर्दिष्ट करना चाहिए।
देखें:http://dev.mysql.com /doc/refman/5.7/hi/sql-mode.html#sqlmode_no_auto_create_user
NO_ENGINE_SUBSTITUTION
जब कोई स्टेटमेंट जैसे CREATE TABLE या ALTER TABLE एक ऐसा स्टोरेज इंजन निर्दिष्ट करता है जो अक्षम है या इसमें संकलित नहीं है, तो डिफ़ॉल्ट स्टोरेज इंजन के स्वचालित प्रतिस्थापन को नियंत्रित करें।
देखें:http://dev.mysql.com /doc/refman/5.7/hi/sql-mode.html#sqlmode_no_engine_substitution