मैक पर MySQL के लिए NULL के रूप में खाली स्ट्रिंग सम्मिलित करना


0

मैं एक अजीब समस्या में भाग जाता हूं। मैंने मैक पर निम्नलिखित कथनों को चलाने की कोशिश की:

INSERT INTO table (field) VALUES ('')

जहाँ क्षेत्र संख्यात्मक है जो स्वीकार करता है NULL मूल्य।

मेरे पास उबंटू पर एक MySQL 5.5.40 स्थापित है, जहां यह क्वेरी अच्छी तरह से चलती है। मेरे पास एक MySQL 5.5.45 भी मैक पर स्थापित है जहां क्वेरी विफल रहती है:

ERROR 1366 (HY000): गलत पूर्णांक मान: '' कॉलम 'फ़ील्ड के लिए'

मैंने पाया कि मैक पर मानक MySQL स्थापित मानक मूल्यों का उपयोग करता है और किसी का उपयोग नहीं करता है my.cnf विन्यास फाइल। मैंने जांच करने की कोशिश की my.cnf उबंटू पर, लेकिन कोई भी विन्यास विकल्प इस समस्या से संबंधित नहीं था।

जवाबों:


1

मुझे त्रुटि संदेश योग्य लगता है: आप एक स्ट्रिंग को एक इंट कॉलम में सम्मिलित नहीं कर सकते। इसके बजाय यह प्रयास करें:

INSERT INTO table (field) VALUES (NULL)

या सरल

INSERT INTO table (field) VALUES ()

यह सर्वर कॉन्फ़िगरेशन पर निर्भर करता है। मेरे स्वयं के उत्तर की जाँच करें। मैंने परीक्षण किए, यह काम करता है।
Hubidubi

0

उचित समाधान my.cnf में सख्त मोड का उपयोग नहीं करना है:

मूल:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

संशोधित:

sql_mode=NO_ENGINE_SUBSTITUTION
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.