คำอธิบาย
คำสั่ง INSERT ใช้ VALUES() (พหูพจน์) ไม่ใช่ VALUE() (เอกพจน์) แม้จะ Insert แค่ 1 แถว
ไวยากรณ์ที่ถูกต้อง
INSERT INTO yourTableName VALUES(yourValue1, yourValue2, ...);
ขั้นตอนการสร้างตารางและข้อมูลตัวอย่าง
mysql> create table DemoTable (
StudentId int,
StudentName varchar(40),
StudentAge int );
Query OK, 0 rows affected (0.48 sec)
การเพิ่มข้อมูล (ใช้ VALUES)
mysql> INSERT INTO DemoTable VALUES(1001, 'Tom', 20); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO DemoTable VALUES(1002, 'Mike', 21); Query OK, 1 row affected (0.13 sec) mysql> INSERT INTO DemoTable VALUES(1003, 'Sam', 19); Query OK, 1 row affected (0.08 sec)
แสดงข้อมูล
mysql> select * from DemoTable;
ผลลัพธ์:
+-----------+-------------+------------+ | StudentId | StudentName | StudentAge | +-----------+-------------+------------+ | 1001 | Tom | 20 | | 1002 | Mike | 21 | | 1003 | Sam | 19 | +-----------+-------------+------------+ 3 rows in set (0.00 sec)
Insert หลายแถวในคำสั่งเดียว
INSERT INTO DemoTable VALUES (1004, 'Alice', 22), (1005, 'Bob', 23), (1006, 'Carol', 20);
สรุป
- ใช้ VALUES เสมอ (ทั้ง 1 แถวและหลายแถว)
- VALUE จะทำให้เกิด Syntax Error
- นี่เป็นข้อผิดพลาดทั่วไปของมือใหม่ที่สับสนกับคำศัพท์ภาษาอังกฤษ