ได้** สามารถใช้ตัวเลขเป็นชื่อคอลัมน์ใน 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