วิธีสร้างตารางที่ชื่อมีช่องว่าง (Space) ใน MySQL
ต้องใช้ **Backtick (`)** ครอบชื่อตาราง ไม่เช่นนั้นจะ Error Syntax
ตัวอย่างข้อผิดพลาด
mysql> create table Demo Table (Id int ...); ERROR 1064 (42000): You have an error in your SQL syntax near 'Table ...'
วิธีที่ถูกต้อง
mysql> create table `Demo Table37` (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
EmployeeFirstName varchar(20),
EmployeeLastName varchar(20),
EmployeeAge int,
EmployeeSalary int,
EmployeeAddress varchar(200)
);
Query OK, 0 rows affected (0.66 sec)
การใช้งานต่อไปต้องใช้ Backtick ทุกครั้ง:
SELECT * FROM `Demo Table37`; INSERT INTO `Demo Table37` ...; DROP TABLE `Demo Table37`;
แนวทางปฏิบัติที่ดี:
- **หลีกเลี่ยงช่องว่างในชื่อ** ตาราง/คอลัมน์/ฐานข้อมูล เลย
- ใช้ Underscore (
_) แทน:demo_table,employee_name - ใช้ PascalCase/camelCase:
DemoTable,employeeName - หากได้รับ Schema ที่มี Space แล้ว ให้ Escape ด้วย Backtick เสมอ
Identifier Quote Character: MySQL ใช้ Backtick ` | มาตรฐาน SQL ใช้ Double Quote " | ตั้งค่า sql_mode=ANSI_QUOTES จะใช้ " แทน Backtick ได้