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;

但是,在這種情況下,解析器將函式名稱視為保留字。這意味著名稱後的空格不再表示識別符號。

更新日期: 22-06-2020

瀏覽量:530

開啟您的 職業生涯

透過完成課程獲得認證

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