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

ใช้ตัวเลขเป็นชื่อคอลัมน์ใน MySQL ได้หรือไม่

ได้** สามารถใช้ตัวเลขเป็นชื่อคอลัมน์ใน MySQL ได้ แต่ต้องใช้ Backtick (`) ครอบชื่อคอลัมน์เสมอ

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

CREATE TABLE NumberColumnDemo (
    `123` VARCHAR(100)
);

การ Insert และ Select ข้อมูล

INSERT INTO NumberColumnDemo VALUES ('45678');

SELECT * FROM NumberColumnDemo;
+-------+
| 123   |
+-------+
| 45678 |
+-------+

ข้อกำหนดการใช้ Backtick

  • บังคับต้องใช้เมื่อชื่อคอลัมน์เป็น Reserved Keywords (SELECT, FROM, WHERE, ORDER, GROUP, v.v.)
  • บังคับต้องใช้เมื่อชื่อมี ตัวอักษรพิเศษ, ช่องว่าง, หรือเริ่มต้นด้วยตัวเลข
  • แนะนำให้ใช้ เสมอ เพื่อความปลอดภัยและความสม่ำเสมอ

ตัวอย่างชื่อที่ต้องใช้ Backtick

-- เริ่มต้นด้วยตัวเลข
`123column`

-- มีช่องว่าง
`first name`

-- เป็น Reserved Word
`select`, `from`, `where`, `order`, `group`

-- มีอักขระพิเศษ
`column-name`, `column@name`

แนวทางปฏิบัติที่ดี

แม้ MySQL จะอนุญาต แต่ ไม่แนะนำ ให้ใช้ตัวเลขหรือคำสงวนเป็นชื่อคอลัมน์ เพราะ:

  • ทำให้ Query อ่านยากและ Error-prone
  • บาง Tools/ORM อาจไม่รองรับ
  • ควรใช้ชื่อที่สื่อความหมาย เช่น col_123, user_id, product_code