MySql数据库:
有一个cure表
cure_ID doctor_ID ear drug_ID .....
1 222 111 22222 .....
2 333 222 22221 .....
3 444 333 122456 .....
4 555 444 123165 .....
其中cure_ID是主键 然后我想删除其中的第2条记录,删除后让后面的记录的cure_ID跟着减1即:
cure_ID doctor_ID ear drug_ID .....
1 222 111 22222 .....
2 444 333 122456 .....
3 555 444 123165 .....
用触发器 代码应该怎么写呢?
有一个cure表
cure_ID doctor_ID ear drug_ID .....
1 222 111 22222 .....
2 333 222 22221 .....
3 444 333 122456 .....
4 555 444 123165 .....
其中cure_ID是主键 然后我想删除其中的第2条记录,删除后让后面的记录的cure_ID跟着减1即:
cure_ID doctor_ID ear drug_ID .....
1 222 111 22222 .....
2 444 333 122456 .....
3 555 444 123165 .....
用触发器 代码应该怎么写呢?
解决方案 »
- mysql insert语句问题!急急急!!!
- case语句可以这样用么?求解
- 截取mysql的时间字段的前十位,谢谢
- 我的mysql数据库怎么突然起动不了了?
- mysql有没有象oracle这样的sql(select level,* from table connect by start 条件)
- MYSQL安装错误!(小弟刚入门,急求帮助)
- Mysql 登录密码正确不能进入mysql
- 谁有mysql的参考手册,象php4中文参考手册的那种!
- 请问有办法隐藏sqlyog的结果窗口吗
- MySQL安装
- 安装mysql-4.1.7-4.RHEL4.1.i386.rpm遇到的问题
- 求助:mysql添加普通用户 及 授权
create trigger tr_de
on table cure
for delete
as
begin
declare @i int
select @i = cure_id from deleted
update cure
set cure_id = cure_id - 1
where cure_id > @cure_id
end
go
delimiter //
create trigger tg_name after delete on cure
for each row
begin
declare idDeleted INT default 0;
select cure_id into idDeleted from deleted;
update cure set cure_id = cure_id - 1 where cure_id > idDeleted;
end;
delimiter //首先我想这也许是个病例表,如果是的话,那么数据量会很大的,
采用修改ID的方式达到统一,势必会成为整个系统的性能瓶颈。
加入是100W条记录级的话,会很慢。
现在修改以下。
delimiter //
create trigger tg_name after delete on cure
for each row
begin
declare idDeleted INT default 0;
select cure_id into idDeleted from deleted;
update cure set cure_id = cure_id - 1 where cure_id > idDeleted;
end;
delimiter ;