中易网

我想在mysql中用触发器修改主键ID的值

答案:3  悬赏:30  
解决时间 2021-12-20 17:25
例如一个表,表中有10行,每行的的主键值ID一次递增。如1,2,3,4,5,6,7,8
但当我删除第5行时候,原本会变为1,2,3,4,6,7,8,但我想实现当我删除了5之后后面的id值全部发生改变,全都减少一,变为了1,2,3,4,5,6,7 我知道只有触发器才能实现。各位大侠帮帮忙。给我代码,着急啊。。。。。。。。
最佳答案
use [你的数据库]
go
create trigger name
on [table] after delete
as
begin
--定义游标,使你逐个往下找个ID,并执行update修改
declare @flag int
select @flag=ID from deleted
declare [cursorname] cursor
for select ID from [table] where ID>@flag
open [cursorname]
fetch next from [cursorname]
update [table]
set ID=ID+1
where ID=fetch next from [cursorname]
WHILE @@FETCH_STATUS = 0
begin
update [table]
set ID=ID+1
where ID=fetch next from [cursorname]
close [cursorname]
DEALLOCATE authors_cursor
end
end
全部回答
在mysql中可以把uuid作为逻辑主键,物理主键依然使用自增id 1、uuid定义 uuid含义是通用唯一识别码 (universally unique identifier),这 是一个软件建构的标准,也是被开源软件基金会 (open software foundation, osf) 的组织应用在分布式计算...
这个需求不现实啊,十条记录还好,如果实际应用中上万条数据的表,就因为删掉前面一个序号,后面的全部要更新,多浪费资源啊你想想
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从中山大学新华学院(东莞)到广州大学松田学
黑咕嚨冬的意思是什么?黑咕嚨冬的释义是什么
登儀的意思是什么?登儀的释义是什么啊?
武汉星云国际请问这个公司有人知道吗??
瞳睛的意思是什么啊?请解释下!
为何PROTEL99元件属性编辑对话表里FOOTORINT
有两个被告人,法庭能同时讯问这两个被告人吗
換鵝手的意思是什么?換鵝手的释义是什么啊?
qq华夏劫魂的战魂可以归元吗?
中国移动通信共和营业厅地址在什么地方,我要
1adac人妻dt770pro飞利浦x1m50x分别什么风格
品詣的意思是什么?品詣的释义是什么啊?
浮跃的意思是什么啊?请解释下!
士林的意思是什么?士林的释义是什么啊?
身親的意思是什么?身親的释义是什么啊?
推荐资讯
条缕的意思是什么?条缕的释义是什么啊?
見短的意思是什么?見短的释义是什么啊?
为什么余额宝3000元与4000元的利益一样多
我的冰柜为什么开到七度灯才亮调回到三度又不
如何提升中小学教师的专业素养
天津市静海县哪有批发室内推拉防盗窗的
南方恒大待遇怎么样?
2016山西高考一模486能报什么大学
楚才晉用的意思是什么?楚才晉用的释义是什么
遒逸的意思是什么?遒逸的释义是什么啊?
谁有现货黄金的复盘软件
斗战神龙女什么系刷图好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?