MySQL多表更新和多表删除的实现[转…

zz/2024/7/13 10:44:21

注意:多表 UPDATE 不可以使用 ORDER BY 或 LIMIT。

多表删除
第一个多表删除格式从 MySQL 4.0.0 开始被支持。第二个多表删除格式从 MySQL 4.0.2 开始被支持。

仅仅在 FROM 或 USING 子句 之前 列出的表中的匹配记录行被删除。效果就是,你要以从多个表中同时删除记录行,并且同样可以有其它的表用于检索。

在表名后的 .* 仅仅是为了兼容 Access:

DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

or

DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

在上面的情况下,我们仅仅从 t1 和 t2 表中删除匹配的记录行。

如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持), 记录行将以指定的次序删除。这实际上只有连同 LIMIT 一起才有用。示例如下:

DELETE FROM somelog
WHERE user = 'jcole'
ORDER BY timestamp
LIMIT 1

这将删除匹配 WHERE 子句的,并且最早被插入(通过 timestamp 来确定)的记录行。

DELETE 语句的LIMIT rows 选项是 MySQL 特有的,它告诉服务器在控制权被返回到客户端之前可被删除的最大记录行数目。这可以用来确保一个特定的 DELETE 命令不会占用太长的时间。你可以简单地重复使用 DELETE 命令,直到被影响的记录行数目小于 LIMIT 值。

从 MySQL 4.0 开始,在 DELETE 语句中可以指定多个表,用以从一个表中删除依赖于多表中的特殊情况的记录行。然而,在一个多表删除中,不能使用 ORDER BY 或 LIMIT。

http://www.ngui.cc/zz/2762684.html

相关文章

mysqlnbsp;远程备份

导出&#xff1a; mysqldump -u用户名 -p密码 -h 192.168.11.192 数据库名称 > D:\bakcup.sql 导入&#xff1a; mysql -h localhost -u 用户名 -p 数据库名称< D:\bakcup.sql

js手机号码验证

function validationPhoneNumber(){ var count0; var data$(#Recipient).val().split(,); for(var i0;i if(data[i].match(/^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/)){ count; } } $(#phoneNumber).text(count); }

Spring 3.2.1+proxool +mysql空白项目搭建

lib目录jar包列表 applicationContent.xml <?xml version"1.0" encoding"UTF-8"?> <beans default-lazy-init"true"xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema…

easyui accordion 滚动条在IE下“丢失”的处理

【解决方案】 方法一&#xff1a; 设置 DOCTYPE 为 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 方法二&#xff1a; 将 accordion 的 animate 属性设为 false

Java中几种创建文件的方法比较

在用Java开发的过程中&#xff0c;经常会遇到创建文件的问题&#xff0c;而File提供了mkdir(),mkdirs(),createNewFile()等方法&#xff0c;那么怎么准确快速的使用呢&#xff0c;最好的办法就是看PAI。这里我把自己理解的记录下来&#xff1a; 1.mkdir()创建文件夹&#xff0…

sqlite的优缺点

SQLite在Android的开发中经常用到&#xff0c;但是SQLite的优缺点&#xff0c;没有研究过&#xff0c;也不知道使用SQLite的过程中会出现什么问题。直到面试的时候&#xff0c;面试官问了下SQLite的缺点是什么的时候&#xff0c;没有答上来。时候查了下资料&#xff0c;找到了一…

SQLite3 写数据库时的锁机制

转载&#xff1a;http://blog.csdn.net/woshinia/article/details/9063411 SQLite3 写数据库 为了写Sqlite3数据库&#xff0c;进程必须先获取SHARED锁。当获取SHARED锁之后&#xff0c;进程需要进一步申请RESERVED锁。RESERVED锁表示该进程会在不远的将来执行写数据库操作。同…

tar 命令参数

tar -c: 建立压缩档案 -x&#xff1a;解压 -t&#xff1a;查看内容 -r&#xff1a;向压缩归档文件末尾追加文件 -u&#xff1a;更新原压缩包中的文件 这五个是独立的命令&#xff0c;压缩解压都要用到其中一个&#xff0c;可以和别的命令连用但只能用其中一个。下面的参数是根…

jenkins 阿里云托管集群创建

参考文档 - https://help.aliyun.com/document_detail/106712.html?spm5176.console_devops2020.help.dexternal.756d84778tw1gJ 部署 阿里云应用里就我们选择ack 安装&#xff0c;具体操作验证阿里云参考文档里都有&#xff0c;但是通过此方式安装安装完成后则是通过loadbal…