ก่อนเริ่ม ลองตั้งชื่อคอลัมน์เป็น 'when' ใน CREATE TABLE ดูครับ
mysql> create table DemoTable693(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
When datetime
);
จะเกิดข้อผิดพลาดดังนี้:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'When datetime at line 5
ต้องห่อคำสงวน (reserved word) ด้วยแบ็กทิค (backticks) เช่น `when` มาลองสร้างตารางใหม่ครับ:
mysql> create table DemoTable693 (
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
`When` datetime
);
Query OK, 0 rows affected (0.63 sec)
เพิ่มข้อมูลตัวอย่าง
mysql> insert into DemoTable693(StudentName, `When`) values('Chris', NOW());
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable693(StudentName, `When`) values('Robert', CURDATE());
Query OK, 1 row affected (0.22 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable693;
ผลลัพธ์
+-----------+-------------+---------------------+ | StudentId | StudentName | When | +-----------+-------------+---------------------+ | 1 | Chris | 2019-07-21 18:57:19 | | 2 | Robert | 2019-07-21 00:00:00 | +-----------+-------------+---------------------+ 2 rows in set (0.00 sec)
คำอธิบาย: WHEN เป็นคำสงวนของ MySQL (ใช้ใน CASE WHEN) ต้องใช้ backticks `\`when\`` เพื่อใช้เป็น identifier (ชื่อตาราง/คอลัมน์) ได้