`

mysql 多表删除陷阱(跨库schema+别名的语法错误问题)

    博客分类:
  • db
阅读更多

* 登陆用户为demo

* 连接字符串串中指定默认库是demo

* 另一个数据库(schema)是demo2,demo用户拥有demo2的所有访问权限

 

delete f,s from tableF f left join tableS s on f.fid=s.fid

- result=ok

 

delete f,s from demo.tableF f left join demo.tableS s on f.fid=s.fid

- result=ok

 

delete f,s from demo2.tableF f left join demo2.tableS s on f.fid=s.fid

- result=error,bad sql grammar :(

 

delete demo2.tableF,demo2.tableS from demo2.tableF left join demo2.tableS on demo2.tableF.fid=demo2.tableS.fid

- result=ok


可见,mysql在跨库使用schema来执行多表删除时不能给表取别名。
分享到:
评论

相关推荐

    MySQL 5.1参考手册

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    MySQL 5.1参考手册 (中文版)

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    MySQL 5.1参考手册中文版

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规...

    MySQL 5.1中文手冊

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    MYSQL中文手册

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. ...

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

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    mysql5.1中文手册

    数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集...

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

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    mysql官方中文参考手册

    9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL中保留字的处理 10. 字符集支持 10.1. 常规字符集...

    Oracle和MySQL的区别

    - **Oracle**: 在Oracle中,一个用户可以对应多个模式(schema),这意味着每个用户可以拥有多个数据库对象集合。例如,通过`conn username/password@instance`命令来连接数据库。 - **MySQL**: 相比之下,MySQL中的...

    阿里云-云数据库OceanBase-SQL参考.pdf

    识别符是OceanBase SQL语句中的租户、数据库、表、视图、索引、表格组、列名和别名等Schema对象名称。OceanBase识别符的最大长度和允许的字符包括用户名、租户、数据库、表组、表、列、索引和别名等。 OceanBase ...

    spring mvc 项目错误,和一些配置

    这些问题主要集中在配置错误、依赖缺失以及常见的异常处理等方面。 ### Spring MVC 项目常见错误与配置 #### 1. Java.lang.reflect.InvocationTargetException - **原因**:通常这种异常是在执行一个方法时发生...

    Yii使用DeleteAll连表删除出现报错问题的解决方法

    这样的SQL语句在某些数据库系统(如MySQL)中可能会引发错误,因为正确的语法应该是明确指定被删除的表,如下所示: ```sql DELETE t FROM zd_pos_log t LEFT JOIN zd_positions p ON p.zpo_id=t.zpo_id WHERE (p....

    MySQLNotesForProfessionals

    根据提供的文件信息,我们可以归纳出一系列关于MySQL的专业知识点。这些知识点涵盖了从入门到高级操作的各种技巧,对于希望深入了解MySQL数据库管理系统的专业人士来说非常有价值。以下是对各章节内容的详细总结: ...

    MySQL在不知道列名情况下的注入详解

    首先,我们需要了解的是MySQL的information_schema库,这是一个系统库,包含了关于所有数据库、表、列等元数据的信息。在MySQL 5及以上版本中,这个库是默认存在的,但在一些旧版本或者特定配置下可能不可用。如果...

    SQL Server的链接服务器技术小结.docx

    SQL Server的链接服务器技术是一种强大的特性,允许在不同的数据源之间进行跨服务器查询和操作,如MySQL、Oracle、文本文件甚至是其他SQL Server实例。本文主要总结了如何使用SQL Server的链接服务器来连接到不同...

    2009达内SQL学习笔记

    多表查询时,可给表起别名。(给列起别名,列<空格>列别名;给表起别名,表<空格>表别名;)。 如:Select first_name EMPLOYEES, 12*(salary+100) AS MONEY, manager_id "ID1" From s_emp E; 4、字段的拼接,可用双...

    postgresql学习

    - **定义**: 模式是 PostgreSQL 中的一个概念, 类似于 MySQL 中的 Database 或 Oracle 中的 schema。 - **作用**: 便于管理和组织数据库对象。 2. **模式操作** - **创建模式**: `CREATE SCHEMA 模式名;` - **...

Global site tag (gtag.js) - Google Analytics