ORDER MySQL-এ রিজার্ভড ওয়ার্ড। এটি কলাম নাম হিসেবে ব্যবহার করলে সিনট্যাক্স এরর হয়। সমাধান: ব্যাকটিক (`) দিয়ে ঘেরে দিন।
সঠিক সিনট্যাক্স:
SELECT * FROM yourTableName ORDER BY `order` DESC;
প্রথমে order নামক কলাম সহ টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (`order` INT);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES(89), (67), (90), (56);
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-------+ | order | +-------+ | 89 | | 67 | | 90 | | 56 | +-------+
ব্যাকটিক ব্যবহার করে সিনট্যাক্স এরর দূর করে ডিসেন্ডিং সর্ট:
mysql> SELECT * FROM DemoTable ORDER BY `order` DESC;
আউটপুট:
+-------+ | order | +-------+ | 90 | | 89 | | 67 | | 56 | +-------+
ব্যাখ্যা: ব্যাকটিক (`) MySQL-এ আইডেন্টিফায়ার (টেবিল/কলাম নাম) কোড করার стандарт পদ্ধতি। এটি রিজার্ভড ওয়ার্ড, স্পেস, স্পেশাল ক্যারেক্টারসহ নামগুলো হ্যান্ডেল করতে সাহায্য করে।
সেরা অভ্যাস: সবসময় টেবিল ও কলাম নামের চারদিকে ব্যাকটিক ব্যবহার করুন। এটি পোর্টেবিলিটিও বাড়ায়।