`
stjauns
  • 浏览: 87573 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Mysql5.7.9 trigger语法新限制,造成错误:Error Code: 1221. Incorrect usage of UNION and LIMI

 
阅读更多
今天新做一个Mysql从服务器,版本5.7.9,dump数据库的时候遇到错误
Error Code: 1221. Incorrect usage of UNION and LIMIT

网上找一圈,没发现相同问题。

在5.6.19版本上测试,无法重现此问题。

看看dump数据库的结果,貌似终结在一个表的数据dump完成,dump触发器时出错。

翻看回触发器代码有这么一段:
select XXXXX
limit 1
union all
select XXXX
limit 2

改成
(select XXXXX
limit 1 )
union all
(select XXXX
limit 1)

解决此问题。
翻回mysql5.7的手册,嗯,果然,一切早已写在上头:
http://dev.mysql.com/doc/refman/5.7/en/union.html

To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT:

(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
However, use of ORDER BY for individual SELECT statements implies nothing about the order in which the rows appear in the final result because UNION by default produces an unordered set of rows. Therefore, the use of ORDER BY in this context is typically in conjunction with LIMIT, so that it is used to determine the subset of the selected rows to retrieve for the SELECT, even though it does not necessarily affect the order of those rows in the final UNION result. If ORDER BY appears without LIMIT in a SELECT, it is optimized away because it will have no effect anyway.

To use an ORDER BY or LIMIT clause to sort or limit the entire UNION result, parenthesize the individual SELECT statements and place the ORDER BY or LIMIT after the last one. The following example uses both clauses:

(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;
A statement without parentheses is equivalent to one parenthesized as just shown.

写这个触发器的时候就觉得貌似这段代码是有歧义的。。。。。。。
现在报应来了吧。。。
分享到:
评论

相关推荐

    mysql-5.7.9.tar.gz

    MySQL 5.7 主要特性: 更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的; 更好的InnoDB存储引擎:内容太多,就等Inside君的...

    Centos 7下使用RPM包安装MySQL 5.7.9教程

    记录的MySQL 5.7.9安装教程,分享给大家 环境介绍: 操作系统:Centos 7.1 mysql数据库版本:mysql5.7.9 mysql官方网站:http://www.mysql.com 1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载 [root@...

    mysql-5.7.9-winx64.zip

    MySQL(官方发音为/maɪ ˌɛskjuːˈɛl/“My S-Q-L”,但也经常被错误读作/maɪ ˈsiːkwəl/“My Sequel”)原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统...

    MySQL 5.1官方简体中文参考手册

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 1/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天...

    MySQL 5.7.9 ZIP 免安装版本配置过程

    由于准备学习MYSQL,本着刚学用最新的原则,下载了5.7.9的ZIP包,根据网上教程摸索了2天没整成功,还是从官方文档入手找到解决办法。大部分内容同5.6的,重要的区别在这展现给大家。 MySQL 5.7 for Windows 解压缩版...

    Mysql5.7.9版本服务注册

    实现mysql5.7.9解压版安装,以及注册成为服务进行注册。

    MySQL 5.1参考手册

    MySQL 5.1参考手册.chm 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL...

    MySQL 5.1中文手冊

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...

    MySql 5.1 参考手册.chm

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...

    MySQL 5.1参考手册 (中文版)

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...

    Mysql 5.7.9 shutdown 语法实例详解

    mysql-5.7.9 终于提供shutdown 语法啦:  之前如果想关闭一个mysql数据库可以通过kill 命令、mysqladmin shutdown 、service mysqld stop 等这样的方式。  然而在mysql-5.7.9之后mysql终于提供了SQL接口的shutdown...

    MySQL 5.1参考手册中文版

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 ...

    windows下Mysql5.7.9初始化

    Mysql 5.7.9 zip windows 免安装版 初始化以及如何修改root密码

    MYSQL中文手册

    1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 ...

    mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz

    Linux 使用的版本是centos 7,为方便起见,先把防火墙关闭,配置好网络,在安装部分,会分成两部分讲,首先讲单实例安装,也就是一台服务器上就装一个mysql,接下来就多实例安装,在一个服务器上安装2个甚至多个mysql...

    MySQL5.1参考手册官方简体中文版

    MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 This translation was done by MySQL ...

    mysql官方中文参考手册

    MySQL 5.1参考手册 目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. ...

    CentOS 6.4下编译安装MySQL 5.7.9

    CentOS 6.4下编译安装MySQL 5.7.9

Global site tag (gtag.js) - Google Analytics