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

สร้างตารางชื่อมีช่องว่างใน MySQL

วิธีสร้างตารางที่ชื่อมีช่องว่าง (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 ได้