IGNORE_SPACE SQL 模式的用途是什麼?


IGNORE_SPACE SQL 模式可用於修改解析器處理對空格敏感的函式名的方式。以下是我們可使用 IGNORE_SPACE SQL 模式的情況−

案例-1  − 停用 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);

案例-2 − 啟用 IGNORE_SPACE SQL 模式時

啟用此模式後,解析器會放寬函式名和後面圓括號之間不能存在空格的要求。例如,啟用 IGNORE_SPACE SQL 模式後,以下兩個函式呼叫都是合法的 −

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

不過,在這種情況下,解析器將函式名作為保留字進行處理。這意味著名稱後面的空格不再代表識別符號。

更新日期: 2020-06-22

530 次瀏覽

開啟你的 職業之旅

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.