คำว่า from เป็นคำสงวน (Reserved Word) ใน MySQL ใช้ในคำสั่ง SELECT ... FROM table หากต้องการใช้เป็นชื่อคอลัมน์ ต้องใช้สัญลักษณ์แบ็กทิก (`) ครอบรอบชื่อคอลัมน์ทุกครั้งที่อ้างอิง
ตัวอย่างการใช้งาน
1. สร้างตารางด้วยคอลัมน์ชื่อ `from`
mysql> create table DemoTable1810 ( `from` varchar(20) ); Query OK, 0 rows affected (0.00 sec)
2. เพิ่มข้อมูล
mysql> insert into DemoTable1810 values('US'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('UK'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('AUS'); Query OK, 1 row affected (0.00 sec)
3. ดึงข้อมูล (ต้องใช้แบ็กทิก)
mysql> select `from` from DemoTable1810;
ผลลัพธ์:
+------+ | from | +------+ | US | | UK | | AUS | +------+ 3 rows in set (0.00 sec)
คำสงวนอื่นๆ ที่พบบ่อยและต้องใช้แบ็กทิก
| คำสงวน | ตัวอย่างการใช้ |
|---|---|
| SELECT | `select` |
| WHERE | `where` |
| ORDER | `order` |
| GROUP | `group` |
| BY | `by` |
| INDEX | `index` |
| KEY | `key` |
| REFERENCES | `references` |
| TABLE | `table` |
| DATABASE | `database` |
แนวทางปฏิบัติที่ดี (Best Practice)
- หลีกเลี่ยง การใช้คำสงวนเป็นชื่อคอลัมน์/ตาราง หากทำได้
- หากจำเป็นต้องใช้ ให้ใช้ แบ็กทิก (`) ครอบทุกครั้ง ที่อ้างอิงถึงชื่อนั้น
- ตั้งชื่อคอลัมน์ให้มีความหมายและไม่ซ้ำคำสงวน เช่น
from_country,from_dateแทนแค่from
สรุป: ใน MySQL ต้องใช้แบ็กทิก (`) ครอบชื่อคอลัมน์/ตารางที่เป็นคำสงวน เช่น `from`, `order`, `group` ทุกครั้งที่ใช้ใน Query เพื่อป้องกัน Syntax Error