विशेष वर्णों या रिज़र्व्ड शब्दों वाले पहचानकर्ताओं (टेबल/कॉलम नाम) के लिए कोटेशन कैरेक्टर (उद्धरण चिह्न) का उपयोग करना आवश्यक है।
कोटेशन कैरेक्टर नियम:
1. ANSI_QUOTES मोड अक्षम (डिफ़ॉल्ट):
- केवल बैकटिक (
`) उपयोग करें - डबल कोट्स (
") स्ट्रिंग लिटरल माने जाते हैं
mysql> Create table `a^b`(`a^b` int);
Query OK, 0 rows affected (0.19 sec)
mysql> Create table "a^g"("a^g" int);
ERROR 1064 (42000): You have an error in your SQL syntax...
2. ANSI_QUOTES मोड सक्षम:
- बैकटिक (
`) और डबल कोट्स (") दोनों उपयोग कर सकते हैं - डबल कोट्स अब पहचानकर्ता के लिए उपयोग होते हैं, स्ट्रिंग के लिए नहीं
mysql> Set sql_mode = 'ANSI_Quotes';
Query OK, 0 rows affected (0.03 sec)
mysql> Create table "a^d"("a^d" int);
Query OK, 0 rows affected (0.21 sec)
mysql> Create table `a^e`(`a^e` int);
Query OK, 0 rows affected (0.14 sec)
सर्वोत्तम अभ्यास:
- हमेशा बैकटिक (
`) का उपयोग करें - यह सभी मोड में काम करता है - विशेष वर्ण, स्पेस, रिज़र्व्ड कीवर्ड वाले नामों से बचें
- नामकरण परंपरा: लोअरकेस, अंडरस्कोर (
user_profile,order_items)
रिज़र्व्ड शब्द उदाहरण: select, from, where, order, group आदि को पहचानकर्ता के रूप में उपयोग करने के लिए बैकटिक आवश्यक: `select`, `order`।