ERROR: [SQLCODE] 1055 , [SQLSTATE] 42000 , [MESSAGE] Expression #1 of ORDER BY clause is not in GROUP BY
此时查看sql_mode,发现里面没有only_full_group_by,但是执行还会报错,怀疑是链接没断开,当前session没生效,断开重连还是一样的报错
遂查看存储过程 show create procedure dataabase.procname
发现创建之前的sql_mode有only_full_group_by,为了能正常运行,在当前模式下,删除新建存储过程,即可重新调用,执行成功。
本文实例讲述了MySQL实现创建存储过程并循环添加记录的方法。分享给大家供大家参考,具体如下:先创建,然后调用:
--
创建存储过程
DELIMITER//
create
procedure
myproc()
begin
declare
num
int
set
num=1
while
num
<=
24
do
insert
into
t_calendar_hour(hourlist)
values(num)
set
num=num+1
end
while
commit
end//
--
调用存储过程
CALL
myproc()
PS:这里再为大家推荐2款常用的sql在线工具供大家参考使用(包含SQL语句用法说明):
SQL在线压缩/格式化工具:
http://tools.jb51.net/code/sql_format_compress
SQL代码在线格式化美化工具:
http://tools.jb51.net/code/sqlcodeformat
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL存储过程技巧大全》、《MySQL常用函数大汇总》、《MySQL日志 *** 作技巧大全》、《MySQL事务 *** 作技巧汇总》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)