求MySQL删除语句

wangning_688 2011-04-01 03:23:07
数据表user中有id,uid,name三个字段
用一条SQL语句实现以下功能:
(1),请求删除数据库中uid=2,name="wn"的一条记录
(2),当数据表中uid=2的记录少于2条时不得删除,uid=2的记录数等于或大于2条时删除(1)所述记录
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gungod 2011-04-02
  • 打赏
  • 举报
回复
delete a from tt a inner join
(select uid from tt where uid=2 group by uid having count(*)>=2) b
on a.uid=b.uid and a.name='wn'

和:
delete a
from user a,(select count(*) as cnt from user where uid=2)b
where a.uid=2 and a.name='wn' and b.cnt>=2

刚才我试了下,都可以。

rucypli的方法没试,应该也可以就是麻烦了点。
rucypli 2011-04-01
  • 打赏
  • 举报
回复

create table temp(id,uid,name)

insert into temp
select *
from user u1
where uid=2 and name='wn' and not exists (select 1 from user where uid=2 and name='wn' and u1.id>id)

delete from user where uid=2 and name='wn'
insert into user
select *
from temp
ACMAIN_CHM 2011-04-01
  • 打赏
  • 举报
回复
delete a
from user a,(select count(*) as cnt from user where uid=2)b
where a.uid=2 and a.name='wn' and b.cnt>=2
WWWWA 2011-04-01
  • 打赏
  • 举报
回复
贴建表及插入记录的SQL,及要求结果出来看看
delete a from tt a inner join
(select uid from tt where uid=2 group by uid having count(*)>=2) b
on a.uid=b.uid and a.name='wn'

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧