MySQL-এ FROM একটি রিজার্ভড কীওয়ার্ড (SELECT ... FROM ...)। এটিকে কলাম নামে ব্যবহার করলে সিনট্যাক্স এরর হয়। সমাধান: ব্যাকটিক (`) দিয়ে কলাম নামটি ধরে রাখা।
টেবিল তৈরি (ব্যাকটিক ব্যবহার)
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`from` VARCHAR(100),
Name VARCHAR(10)
);
ডেটা ইনসার্ট (ব্যাকটিক ব্যবহার)
mysql> INSERT INTO DemoTable(`from`, Name) VALUES ('US', 'John'), ('UK', 'Carol'), ('AUS', 'David');
সকল ডেটা
+----+------+-------+ | Id | from | Name | +----+------+-------+ | 1 | US | John | | 2 | UK | Carol | | 3 | AUS | David | +----+------+-------+
কলাম সিলেক্ট করা (ব্যাকটিক আবশ্যক)
mysql> SELECT `from` FROM DemoTable;
ফলাফল
+------+ | from | +------+ | US | | UK | | AUS | +------+
সুপারিশ:
- রিজার্ভড ওয়ার্ড (
SELECT, FROM, WHERE, ORDER, GROUP, TABLE, INDEXইত্যাদি) কলাম/টেবিল নামে ব্যবহার এড়ান। - বাধ্যতামূলক হলে সবসময় ব্যাকটিক (
`column_name`) ব্যবহার করুন। - MySQL কনফিগারেশন
sql_mode=ANSI_QUOTESথাকলে ডবল কোট ("column_name")ও কাজ করে।