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

จะสร้างตารางที่มีชื่อเหมือน a^b พร้อมกับชื่อคอลัมน์เดียวกันได้อย่างไร?


สำหรับการสร้างตารางที่มีชื่อประเภทดังกล่าว เราต้องใช้เครื่องหมายคำพูด เครื่องหมายคำพูดจะเป็นแบบเดี่ยวหรือแบบคู่ก็ได้ขึ้นอยู่กับโหมด ANSI_QUOTES SQL

หากโหมดนี้ปิดใช้งาน จากนั้น ตัวระบุเครื่องหมายคำพูดคือเครื่องหมายย้อนกลับ (“`”) ลองพิจารณาตัวอย่างต่อไปนี้ที่เราสร้างตารางชื่อ 'เลือก' −

mysql> Create table `a^b`(`a^b` int);
Query OK, 0 rows affected (0.19 sec)

mysql> Create table "a^g"("a^g" int);
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 '"a^g" ("a^g" int)' at line 1

หากโหมดนี้เปิดใช้งาน จากนั้นเราก็สามารถใช้ backtick (“`”) และ double quotes (“”) เป็นเครื่องหมายคำพูดได้ พิจารณาตัวอย่างต่อไปนี้ที่เราสร้างตารางเช่นชื่อข้างต้นโดยใช้อักขระอ้างอิงทั้งสองหลังจากเปิดใช้งานโหมดนี้ -

mysql> Set sql_mode = 'ANSI_Quotes';
Query OK, 0 rows affected (0.03 sec)

mysql> Create table "a^d"("a^d" int);
Query OK, 0 rows affected (0.21 sec)

mysql> Create table `a^e`(`a^e` int);
Query OK, 0 rows affected (0.14 sec)