`
stjauns
  • 浏览: 90528 次
  • 性别: 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 ZIP 免安装版本配置过程

    ### MySQL 5.7.9 ZIP免安装版配置详解 #### 一、前言与背景 随着技术的发展,越来越多的人开始关注并学习数据库管理技术,其中MySQL作为一款流行的关系型数据库管理系统,备受青睐。对于初学者来说,选择一个合适...

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

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

    windows下Mysql5.7.9初始化

    - 首先,下载 MySQL 5.7.9 的 Windows 免安装版 ZIP 包,例如 `mysql-5.7.9-winx64.zip`。 - 将该 ZIP 文件解压到指定路径,比如 `D:\database\mysql5.7.9`。 **2. 添加环境变量** - 接下来,需要将解压后的 `...

    CentOS 6.4下编译安装MySQL 5.7.9

    tar -zxvf mysql-5.7.9.tar.gz cd mysql-5.7.9 ``` **四、配置编译** 在编译前,根据实际需求进行配置。例如,设置安装路径、字符集、启动用户等: ```bash ./configure --prefix=/usr/local/mysql --with-extra-...

    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@...

    Mysql5.7.9版本服务注册

    mysqld --install mysql5.7.9 --defaults-file=D:/mysql/mysql-5.7.9-winx64/my.ini ``` - 其中 `D:/mysql/mysql-5.7.9-winx64/my.ini` 是 MySQL 配置文件的路径。 2. **启动和测试服务**: - 使用 Windows ...

    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.7.9.tar.gz

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

    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(在线聊天...

    centos7 mysql5.7.9安装

    在安装新的 MySQL 5.7.9 之前,确保系统上没有旧版本的 MySQL。这一步非常重要,以免出现版本冲突或配置错误。 ##### **1.1 卸载通过 YUM 安装的 MySQL** 如果你之前是通过 YUM 软件仓库安装的 MySQL,那么你可以...

    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遵从的标准是什么 ...

    mysql-community-server-5.7.28-1.el7.x86_64.rar

    MySQL Community Server 5.7.28 是一个广泛使用的开源关系型数据库管理系统,适用于各种规模的企业和项目。这个版本的MySQL服务器是专为CentOS 7操作系统设计的,并且提供了RPM(Red Hat Package Manager)格式的...

    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 免安装版配置方法图文教程

    MySQL 5.7.9 是一款流行的开源关系型数据库管理系统,被广泛应用于多种软件和网站项目中。在本文中,我们将详细介绍如何配置MySQL 5.7.9的免安装版,这是一项为用户提供无需安装程序即可使用数据库服务的方法。通过...

Global site tag (gtag.js) - Google Analytics