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

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]se...
我想在mysql中用触发器修改主键ID ;的值
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
end2019-06-07
mengvlog 阅读 50 次 更新于 2025-09-08 07:09:45 我来答关注问题0
  •  誉祥祥知识 Mysql中触发器使用详详详详详解~

    使用DROP TRIGGER trigger_name;命令删除指定触发器。注意:在删除触发器之前,应确保没有正在使用该触发器的操作,以避免数据不一致或操作失败。四、触发器中的关键字 NEW:表示触发器作用于当前操作的记录。在INSERT和UPDATE操作中,NEW可用于引用新插入或更新的数据。OLD:表示操作前的记录状态。在DELETE...

  •  信必鑫服务平台 mysql 触发器 if 语句update怎么操作?

    CREATE TABLE `test` (`id` int(11) NULL DEFAULT NULL ,`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,`visit_num` int(11) NULL DEFAULT NULL )我们就可以使用如下的 sql 进行判断和修改 UPDATE test set visit_age=if(visit_num is null,1,...

  • 在这个例子中,我们使用了NEW.id和NEW.score表示在表A中新插入的学生ID和分数。如果是更新操作,可以使用OLD.id和OLD.score表示旧的学生ID和分数。我们还可以根据自己的需求,定义其他的触发器,比如在表A中删除一条记录时,删除表B中与之相关的记录等。总结 MySQL的两表联动修改可以大大提升数据处理...

  • 方法/步骤 首先,我们需要确定自己的Mysql数据库的版本,因为my sql数据库是从5.0.2版本才开始支持触发器的。我推荐大家在电脑的dos命令界面中输入 mysql --version,来获取mysql的版本号,注意version的两个横线和之前的mysql是有一个空格的。上一步获取了我们的mysql版本号,这一不我们就开始建立触发...

  • Du知道君 mysql主键、外键问题,如何能做到修改一个表内的某一个数据,其他表内

    应该通过触发器trigger实现。表之间的数据是不能自动更新的,需要为表设置trigger,一般触发器有三种,insert触发,delete触发,update触发,分别对应数据库的三种操作,设置正确的话,用起来很方便。

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部