IGNORE_SPACE SQL模式有什么用处?
IGNORE_SPACE SQL模式可以用于修改解析器处理大小写敏感函数名的方式。以下是可以使用IGNORE_SPACE SQL模式的情况 –
阅读更多:MySQL 教程
情况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;
但在这种情况下,解析器将函数名称视为保留字。这意味着名称后面的空格不再表示标识符。
极客教程