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

แก้ไขข้อผิดพลาดในไวยากรณ์ MySQL ขณะสร้างคอลัมน์ตารางที่มีชื่อ "ดัชนี"?


คุณไม่สามารถใช้ดัชนีเป็นชื่อคอลัมน์ได้เนื่องจากเป็นคำสงวน สำหรับสิ่งนี้ คุณต้องใช้ backticks รอบชื่อคอลัมน์

หากคุณจะใช้คำสงวนเป็นชื่อคอลัมน์ คุณจะเห็นข้อผิดพลาดดังต่อไปนี้

mysql> สร้างตาราง DemoTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> index int -> )ENGINE=MyISAM;ERROR 1064 (42000):คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่ถูกต้องที่จะใช้ใกล้กับ 'int )ENGINE=MyISAM' ที่บรรทัด 4

ให้เราสร้างตารางก่อน ในที่นี้ เราใช้ดัชนีคำสงวนเป็นชื่อคอลัมน์ แต่การปิดด้วยเครื่องหมายย้อนกลับจะไม่ทำให้เกิดข้อผิดพลาด

mysql> สร้างตาราง DemoTable -> ( -> รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> `index` int -> )ENGINE=MyISAM; Query OK, 0 แถวได้รับผลกระทบ (0.28 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(`index`) (4); Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงใน DemoTable(`index`) ค่า(8); Query OK, 1 แถวได้รับผลกระทบ ( 0.07 วินาที) mysql> แทรกลงในค่า DemoTable (`index`) (12); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.06 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-------+| รหัส | ดัชนี |+---+-------+| 1 | 4 || 2 | 8 || 3 | 12 |+----+-------+3 แถวในชุด (0.00 วินาที)