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

การใช้โหมด IGNORE_SPACE SQL คืออะไร?


สามารถใช้โหมด IGNORE_SPACE SQL เพื่อแก้ไขวิธีที่ parser จัดการกับชื่อฟังก์ชันที่ไวต่อช่องว่าง ต่อไปนี้เป็นกรณีที่เราสามารถใช้โหมด IGNORE_SPACE SQL -

Case-1 − เมื่อปิดใช้งานโหมด IGNORE_SPACE SQL

หลังจากปิดใช้งานโหมด IGNORE_SPACE SQL แล้ว parser จะตีความชื่อเป็นการเรียกฟังก์ชันเมื่อไม่มีช่องว่างระหว่างชื่อและวงเล็บต่อไปนี้ สิ่งนี้ยังเกิดขึ้นเมื่อชื่อฟังก์ชันถูกใช้ในบริบทที่ไม่ใช่นิพจน์ สามารถเข้าใจได้จากแบบสอบถามต่อไปนี้ -

mysql> Create table SUM(Id 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 'SUM(Id Int)' at line 1

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

Create table SUM (id int);
Create table ‘SUM’(id int);
Create table ‘SUM’ (id int);

Case-2 − เมื่อเปิดใช้งานโหมด IGNORE_SPACE SQL

เมื่อเราเปิดใช้งานโหมดนี้ parser จะผ่อนคลายข้อกำหนดว่าไม่มีช่องว่างระหว่างชื่อฟังก์ชันและวงเล็บต่อไปนี้ ตัวอย่างเช่น หลังจากเปิดใช้งานโหมด IGNORE_SPACE SQL การเรียกใช้ฟังก์ชันทั้งสองต่อไปนี้ถูกต้องตามกฎหมาย -

Select SUM(Salary) from employee;
Select SUM (Salary) from employee;

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