参考网址:http://www.111cn.net/database/mysql/51146.htm

原网页广告太多,自己抄了下。

1、delete from t1 where 条件
2、delete t1 from t1 where 条件
3、delete t1 from t1,t2 where 条件
4、delete t1,t2 from t1,t2 where 条件
前3者是可行的,第4者不可行。
也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联
删除关系,则可以实现删除一个表的数据时,同时删除另一个表中相关的数据。
1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉,代码如下
DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id
2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉,代码如下
DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或
DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL
3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉,代码如下
DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25
注意此处的delete t1,t2 from 中的t1,t2不能是别名
如:
delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where
table_name.id=25
在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)
上述语句改写成
delete table_name,table2_name from table_name as t1 left join table2_name as t2 on
t1.id=t2.id where table_name.id=25
在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)
DELETE怎样删除关联数据,实现级联删除
create TABLE IF NOT EXISTS `dcsmember`(
`id` int(3) auto_increment not null primary key,
`name` varchar(12) not null,
`password` varchar(40) not null,
`phonenumber` char(20),
`time` DATETIME NOT NULL,
`jifen` int(8) not null DEFAULT '20',
`email` varchar(40) NOT NULL,
`power` int(2) NOT NULL DEFAULT '1'
)CHARACTER SET gb2312";
create TABLE IF NOT EXISTS `sp`(
`spid` int(5) auto_increment not null primary key,
`spuserid` int(3) not null,
`spname` varchar(12) not null,
`spmoney` float(6) not null,
`spopt` char(20) not null,
`spsay` varchar(50),
`sptime` DATE DEFAULT '2008-10-01',
`spendor` TINYINT(1) DEFAULT '1',
INDEX ( `spuserid` )
)CHARACTER SET gb2312";

$sqldel="DELETE FROM dcsmember WHERE email='$value'";
现在我用从会员表中删除会员的资料
,还需要删除另外一个表中会员的资料,dcsmember.ID是外码,对应sp.spuserid,?
怎样写才可以
delete d, s from dcsmember d inner join sp s on d.id = s.spuserid where d.email="xxxxxx"

下面是自己的实践:

删除t1表,按照t2的条件,t2表又被t3表限制。逻辑如下:

DELETE t1
FROM
t_sales_query as t1
JOIN t_sales_payment as t2 ON t1.id = t2.sales_id
join t_sales_activity as t3 on t2.ACTIVITY_CODE=t3.ACTIVITY_CODE
WHERE
t3.STATUS='' and t3.SALES_TIME_END BETWEEN '' and ''

mysql 关联删除的更多相关文章

  1. mysql关联删除

    <delete id="deleteBatchUserOfSp" parameterType="java.lang.String" > delete ...

  2. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)

    有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...

  3. mysql 查看 删除 日志操作总结(包括单独和主从mysql)

    我们可以在mysql的安装目录下看到mysql的二进制日志文件,如mysql-bin.000***等,很多人都不及时的处理,导致整个硬盘被塞满也是有可能的.这些是数据库的操作日志.它记录了我们平时使用 ...

  4. 【MySQL】删除大表的讨论【转】

    转自http://tech.ddvip.com/2013-07/1373269453198566.html 微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL ...

  5. MySQL 存储过程删除大表

    1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...

  6. mysql优化, 删除数据后物理空间未释放(转载)

    mysql优化, 删除数据后物理空间未释放(转载) OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTI ...

  7. oracle多表关联删除数据表记录方法

    oracle多表关联删除的两种方法 第一种使用exists方法 delete from tableA where exits ( select 1 from tableB Where tableA.i ...

  8. mysql批量删除指定前缀或后缀表

    今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了 ...

  9. mySQL中删除unique key的语法 (删除某个字段的唯一性)

    mySQL中删除unique key的语法 CREATE TABLE `good_booked` (  `auto_id` int(10) NOT NULL auto_increment,  `goo ...

随机推荐

  1. mac 下隐藏和显示文件

    显示:defaults write com.apple.finder AppleShowAllFiles -bool true隐藏:defaults write com.apple.finder Ap ...

  2. svn自动更新

    果对svn不熟悉,当svn上面有更新时,想看到实时效果,就得去web目录手动更新,比较麻烦 其它svn有一个自动更新的功能 利用 hook   在svn 仓库目录下面有一个hook目录 在post-c ...

  3. UVA 10294 等价类计数

    题目大意: 项链和手镯都是若干珠子穿成的环形首饰,手镯可以旋转和翻转,但项链只能旋转,给n个珠子,t种颜色,求最后能形成的手镯,项链的数量 这里根据等价类计数的polya定理求解 对于一个置换f,若一 ...

  4. 第二周 PSP项目计划

    项目计划总结: 日期|任务 听课 编写程序 阅读相关书籍 网上查找资料   日总计 周一 2 1 2   5 周二     1    1 周三     2     2 周四 2 2     4 周五 ...

  5. redis2.8--主从机同步流程

  6. Matlab与C/C++联合编程之Matlab以MEX方式调用C代码(五)完整过程加示

    如下为本人亲证代码: 一: 编译器的安装与配置(环境不同,显示结果不同) 要使用MATLAB编译器,用户计算机上应用事先安装与MATLAB适配的以下任何一种ANSI C/C++编译器: 5.0.6.0 ...

  7. iOS 端的 UI 聊天组件ChatKit及代码实现

    ChatKit 是一个免费且开源的 UI 聊天组件,自带云服务器,自带推送,支持消息漫游,消息永久存储.底层聊天服务基于LeanCloud(原名 AVOS ) 的 IM 实时通信服务「LeanMess ...

  8. js面向对象(构造函数与继承)

    深入解读JavaScript面向对象编程实践 Mar 9, 2016 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式,主要包括模块化.多态.和封装几种技术. 对JavaScript而言,其 ...

  9. hdu 2030

    PS:原本这道题就空了好久...今天才去查了下汉字机内码... 然后才知道了. 1—— 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再 除以2 就OK了. 2 ...

  10. 12-24 关于UIScroView 控件的学习

    在iOS开发中,滚动视图(UIScrollView)通常用于显示内容尺寸大于屏幕尺寸的视图.滚动视图有以下两个主要作用: 让用户可以通过拖拽手势来观看想看到的内容 让用户可以通过捏合手势来放大或缩小观 ...