यदि आप विभिन्न SQL सर्वर के बीच पोर्टेबिलिटी में रुचि रखते हैं, तो आपको ANSI SQL प्रश्नों का उपयोग करना चाहिए। ANSI SQL में स्ट्रिंग एस्केपिंग डबल कोट्स (") का उपयोग करके किया जाता है। दुर्भाग्य से, यह एस्केपिंग विधि MySQL के लिए पोर्टेबल नहीं है, जब तक कि यह ANSI संगतता मोड में सेट नहीं है।
व्यक्तिगत रूप से, मैं हमेशा अपने MySQL सर्वर को --sql-mode = 'ANSI' तर्क के साथ शुरू करता हूं क्योंकि इससे बचने के लिए दोनों तरीकों की अनुमति मिलती है। यदि आप उन क्वेरी को लिख रहे हैं जो एक MySQL सर्वर में निष्पादित होने जा रहे हैं जो सेटअप नहीं था / आपके द्वारा नियंत्रित किया जाता है, तो यहां आप क्या कर सकते हैं:
इस तरह केवल MySQL के विशिष्ट प्रश्न आपके .sql स्क्रिप्ट के आरंभ और अंत में हैं। यदि आप उन्हें किसी भिन्न सर्वर के लिए शिप करना चाहते हैं तो इन 3 प्रश्नों को हटा दें और आप सभी सेट हो जाएंगे। और भी आसानी से आप एक स्क्रिप्ट बना सकते हैं जिसका नाम है: script_mysql.sql जिसमें उपरोक्त मोड सेटिंग क्वेरी शामिल होंगी, एक script_ansi.sql स्क्रिप्ट स्रोत और मोड रीसेट करें।