SQL模式IGNORE_SPACE有什么用?

SQL模式IGNORE_SPACE有什么用?

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;

但是,在这种情况下,解析器会将函数名称视为保留字。这意味着名称后面的空格不再代表标识符。

原文来自:www.php.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容