Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ 'from' เป็นชื่อคอลัมน์ใน MySQL ด้วย Backticks

คำว่า 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)

  1. หลีกเลี่ยง การใช้คำสงวนเป็นชื่อคอลัมน์/ตาราง หากทำได้
  2. หากจำเป็นต้องใช้ ให้ใช้ แบ็กทิก (`) ครอบทุกครั้ง ที่อ้างอิงถึงชื่อนั้น
  3. ตั้งชื่อคอลัมน์ให้มีความหมายและไม่ซ้ำคำสงวน เช่น from_country, from_date แทนแค่ from

สรุป: ใน MySQL ต้องใช้แบ็กทิก (`) ครอบชื่อคอลัมน์/ตารางที่เป็นคำสงวน เช่น `from`, `order`, `group` ทุกครั้งที่ใช้ใน Query เพื่อป้องกัน Syntax Error