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

เราสามารถใช้ "อันดับ" เป็นชื่อคอลัมน์กับ MySQL8 ได้หรือไม่?


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

ให้เราตรวจสอบเวอร์ชัน MySQL ที่เรากำลังดำเนินการก่อน ฉันใช้ MySQL เวอร์ชัน 8.0.12 -

mysql> เลือกเวอร์ชัน ();+-----------+| รุ่น() |+-----------+| 8.0.12 |+-----------+1 แถวในชุด (0.00 วินาที)

ประเด็นโดยใช้ “อันดับ” เป็นชื่อคอลัมน์ดังนี้ −

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

ด้านบน เกิดข้อผิดพลาดขึ้นเนื่องจากเราใช้คำสงวนเป็นชื่อคอลัมน์

ให้เราสร้างตารางและใช้ backticks รอบ “อันดับ” เพื่อหลีกเลี่ยงข้อผิดพลาด -

mysql> สร้างตาราง DemoTable1596 -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> `rank` int -> );Query OK, 0 แถวได้รับผลกระทบ (0.51 วินาที)

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

mysql> แทรกลงในค่า DemoTable1596(StudentName,`rank`) ('Bob',4567);Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable1596 (StudentName,`rank`) ('David ',1);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

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

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

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

<ก่อนหน้า>+----+-------------+------+| รหัส | ชื่อนักเรียน | อันดับ |+----+-------------+------+| 1 | บ๊อบ | 4567 || 2 | เดวิด | 1 |+----+-------------+------+2 แถวในชุด (0.00 วินาที)