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

ใช้คำสงวน 'index' เป็นชื่อคอลัมน์ใน MySQL ด้วยแบ็กทิก

คำว่า index เป็น คำสงวน (Reserved Word) ใน MySQL หากต้องการใช้เป็นชื่อคอลัมน์ ต้องห่อด้วย แบ็กทิก (`)

ตัวอย่างการสร้างตาราง

mysql> create table DemoTable ( 
    `index` int ); 
Query OK, 0 rows affected (0.48 sec)

เพิ่มข้อมูล

mysql> insert into DemoTable values(1000); 
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(1020); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(967); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(567); 
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(1010); 
Query OK, 1 row affected (0.18 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;
+-------+
| index |
+-------+
| 1000  |
| 1020  |
| 967   |
| 567   |
| 1010  |
+-------+
5 rows in set (0.00 sec)

คำสั่ง ORDER BY คอลัมน์ `index` แสดง 3 ค่าสูงสุด

mysql> select * from DemoTable order by `index` DESC LIMIT 3;

ผลลัพธ์

+-------+
| index |
+-------+
| 1020  |
| 1010  |
| 1000  |
+-------+
3 rows in set (0.00 sec)

คำอธิบาย: ต้องใช้แบ็กทิก `index` ทุกครั้งที่อ้างอิงคอลัมน์นี้ (CREATE, INSERT, SELECT, WHERE, ORDER BY) มิฉะนั้นจะ Error: ERROR 1064 (42000): You have an error in your SQL syntax near 'index ...'

คำสงวนอื่นๆ ที่พบบ่อย: KEY, ORDER, GROUP, BY, SELECT, INSERT, UPDATE, DELETE, TABLE, DATABASE, INDEX, PRIMARY, UNIQUE, FOREIGN, REFERENCES, CHECK, CONSTRAINT, TRIGGER, VIEW, PROCEDURE, FUNCTION, EVENT ฯลฯ

แนวทางปฏิบัติ: ใช้แบ็กทิกห่อชื่อ Identifier ทุกตัวเสมอ (Table, Column, Database, Alias) เพื่อป้องกันปัญหาในอนาคต