GROUP เป็น Reserved Keyword (คำสงวน) ใน MySQL ไม่สามารถใช้เป็นชื่อตารางหรือคอลัมน์ได้โดยตรง ต้องห่อหุ้มด้วย Backticks (`) เสมอ
ปัญหาและวิธีแก้
❌ ผิด: ไม่ใช้ Backticks
CREATE TABLE group (...); -- ERROR 1064
✅ ถูกต้อง: ใช้ Backticks ครอบชื่อตาราง
CREATE TABLE `group` (...); -- OK
ตัวอย่างครบถ้วน
1. สร้างตารางชื่อ `group`
mysql> CREATE TABLE `group` (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20)
);
Query OK, 0 rows affected (1.26 sec)
2. เพิ่มข้อมูล (ต้องใช้ Backticks ทุกครั้งที่อ้างอิงตาราง)
mysql> INSERT INTO `group`(Name) VALUES('Chris');
Query OK, 1 row affected (0.47 sec)
mysql> INSERT INTO `group`(Name) VALUES('David');
Query OK, 1 row affected (0.36 sec)
mysql> INSERT INTO `group`(Name) VALUES('Mike');
Query OK, 1 row affected (0.26 sec)
mysql> INSERT INTO `group`(Name) VALUES('Sam');
Query OK, 1 row affected (0.16 sec)
3. Query ข้อมูล
mysql> SELECT * FROM `group`; +----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | David | | 3 | Mike | | 4 | Sam | +----+-------+
คำสงวน (Reserved Keywords) ที่พบบ่อย
| คำสงวน | คำสงวน | คำสงวน |
|---|---|---|
| GROUP | ORDER | SELECT |
| FROM | WHERE | TABLE |
| INDEX | KEY | PRIMARY |
| REFERENCES | CHECK | CONSTRAINT |
| USER | DATABASE | FUNCTION |