IGNORE_SPACE SQL 模式可用來修改解析器處理空白敏感的函數名稱的方式。以下是我們可以使用IGNORE_SPACE SQL 模式的情況-
禁用IGNORE_SPACE SQL 後模式下,當名稱和後面的括號之間沒有空格時,解析器會將名稱解釋為函數呼叫。當函數名稱在非表達式上下文中使用時也會發生這種情況。可以從以下查詢中理解 -
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);
當我們啟用此模式時,解析器放寬了函數名稱和函數名稱之間不能有空格的要求後面的括號。例如,啟用 IGNORE_SPACE SQL 模式後,以下兩個函數呼叫都是合法的 -
Select SUM(Salary) from employee; Select SUM (Salary) from employee;
但是,在這種情況下,解析器會將函數名稱視為保留字。這意味著名稱後面的空格不再代表標識符。
以上是SQL模式IGNORE_SPACE有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!