ข้อผิดพลาดประเภทนี้เกิดขึ้นเมื่อคุณใช้ไวยากรณ์ที่ไม่ถูกต้อง ให้เราดูตัวอย่างที่เราได้สร้างตารางและเกิดข้อผิดพลาดเดียวกัน “1054”
นี่คือตาราง −
mysql> สร้างตาราง DemoTable689 ( UserId int ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก, ชื่อผู้ใช้ varchar (100), UserLoginDate date (100) ไม่ใช่ NULL);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ เช่น ข้อผิดพลาดสำหรับการใช้ไวยากรณ์ที่ไม่ถูกต้อง -
ข้อผิดพลาด 1064 (42000):คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่ถูกต้องที่จะใช้ใกล้กับ '(100) ไม่ใช่ NULL)' ที่บรรทัด 5
ให้เราแก้ไขข้อผิดพลาด 1054 เพื่อที่ คุณต้องใช้เฉพาะ DATE NOT NULL ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable689 ( UserId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ชื่อผู้ใช้ varchar (100), UserLoginDate วันที่ไม่ใช่ NULL); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงใน DemoTable689(UserName,UserLoginDate) values('John',DATE(NOW()));Query OK, 1 แถวได้รับผลกระทบ (0.40 วินาที)mysql> แทรกลงใน DemoTable689(UserName,UserLoginDate) ค่า (' Chris','2018-01-21'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable689 (ชื่อผู้ใช้ UserLoginDate) ('Robert', CURDATE ()); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.20 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable689;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ ตอนนี้ เราได้แก้ไขข้อผิดพลาด -
<ก่อนหน้า>+---------+----------+--------------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | UserLoginDate |+-------+----------+--------------+| 1 | จอห์น | 2019-07-21 || 2 | คริส | 2018-01-21 || 3 | โรเบิร์ต | 2019-07-21 |+---------+----------+--------------+3 แถวในชุด (0.00 วินาที )