MySQL-এ ডেটাবেস বা টেবিল নামে হাইফেন (-) বা অন্যান্য বিশেষ ক্যারেক্টার থাকলে ERROR 1064 (42000) সিনট্যাক্স এরর হয়। সমাধান হলো নামকে ব্যাকটিক (`) দিয়ে ঘেরা।
সঠিক সিনট্যাক্স (ব্যাকটিক ছাড়া সাধারণ নাম)
CREATE DATABASE yourDatabaseName;
সমস্যা: হাইফেনযুক্ত নাম
mysql> CREATE DATABASE customer-tracker; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-tracker' at line 1
সমাধান: ব্যাকটিক ব্যবহার
mysql> CREATE DATABASE `customer-tracker`; Query OK, 1 row affected (0.21 sec)
ব্যাখ্যা: MySQL-এ আইডেন্টিফায়ার (টেবিল নাম, কলাম নাম, ডেটাবেস নাম) যদি রিজার্ভড কীওয়ার্ড, স্পেস, হাইফেন, বা বিশেষ ক্যারেক্টার ধারণ করে, তবে সেটিকে ব্যাকটিক (`) দিয়ে ঘেরা উচিত।
সर्वোত্তম অনুশীলন:
- নামকরণে হাইফেন এড়িয়ে আন্ডারস্কোর (
_) ব্যবহার করুন:customer_tracker। - রিজার্ভড কীওয়ার্ড (যেমন
order,group,select) কলাম নাম হিসেবে ব্যবহার করলে অবশ্যই ব্যাকটিক দিন। - কলাম নামেও একই নিয়ম:
SELECT `order` FROM `table`।