记一次MySQL查询异常(err:1630)

使用mysql进行字符串相关函数的学习时发现,当时用函数substring时,可以正常运行,但是使用SQLyog的SQL格式器格式化SQL语句后报错,后来经过排查发现,格式化后自动在函数名后面加了空格,导致错误

-- 格式化前:
SELECT
  SUBSTRING(ename, 1, 2)
FROM
  emp;
  
-- 格式化后:
SELECT
  SUBSTRING (ename, 1, 2)
FROM
  emp;

后来发现,大部分的函数名和参数列表之间添加空格都不会影响SQL语句的执行,但是为了一劳永逸,查找了解决办法
在mysql的安装路径的个人配置文件my.ini文件中添加下面语句,切记不要在末尾添加分号!

sql_mode='IGNORE_SPACE'

添加完毕后使用管理员身份运行cmd,输入以下指令重启mysql服务器

net stop mysql
net start mysql

这样即使函数之间有空格也不会报错啦!

posted @ 2022-03-28 19:46  ふじさんのゆき  阅读(297)  评论(0编辑  收藏  举报