sql能否批量删除多个行
答案:5 悬赏:70 手机版
解决时间 2021-01-06 18:28
- 提问者网友:献世佛
- 2021-01-06 06:52
sql能否批量删除多个行
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-01-06 08:27
估计你是想做web中的批量删除。
推荐用服务器端语言拼成以半角逗号分隔的id字符串
如1楼例举的1,2,3,4,5然后将这个变量拼成SQL语句。
如果是纯SQL,你要删除的这些数据会有一些共同点,按照共同点删除即可。
如delete from table where id in (xxxxxxxx) 或者delete from table where id in ( select id from table where enabled = 0)之类的。
推荐用服务器端语言拼成以半角逗号分隔的id字符串
如1楼例举的1,2,3,4,5然后将这个变量拼成SQL语句。
如果是纯SQL,你要删除的这些数据会有一些共同点,按照共同点删除即可。
如delete from table where id in (xxxxxxxx) 或者delete from table where id in ( select id from table where enabled = 0)之类的。
全部回答
- 1楼网友:蕴藏春秋
- 2021-01-06 12:00
delete from tablename where id in (1,2,3,4,5)
- 2楼网友:孤独的牧羊人
- 2021-01-06 11:49
如果数量不多的话,直接在删除的时候,罗列就可以吧 比如一楼说的
如果数量很多的话,可以把这些要删除的数据存放在一个表里,然后删除的时候,去表里查询对应数据,比如把要删除的id号存放在table b中,那么
delete from table a where id in (select id from table b)
如果数量很多的话,可以把这些要删除的数据存放在一个表里,然后删除的时候,去表里查询对应数据,比如把要删除的id号存放在table b中,那么
delete from table a where id in (select id from table b)
- 3楼网友:怀裏藏嬌
- 2021-01-06 10:32
我想的存储过程大致思路
1.给出删除几个ID的数据,
2.WHILE循环然后给出变量,
3.用变量作为主键ID,执行动态删除SQL
1.给出删除几个ID的数据,
2.WHILE循环然后给出变量,
3.用变量作为主键ID,执行动态删除SQL
- 4楼网友:渊鱼
- 2021-01-06 09:54
delete tb where id between 1 and 5追问我只是举个例子。。。不一定是数字,而且不一定连续的追答可以像1楼那样列举出来,也可以把他定义成一个变量
declare @s varchar(100)
set @s='1,2,3,4,5'
delete from tb where charindex(','+ltrim(id)+',',','+@s+',')>0
declare @s varchar(100)
set @s='1,2,3,4,5'
delete from tb where charindex(','+ltrim(id)+',',','+@s+',')>0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯