MySQL如何用觸發器實現新增時刪除最後一條資料

時間 2021-10-14 22:25:28

1樓:張伊笙

首先mysql 只支援3種觸發器

1 delete 2 insert 3 update其他的mysql語句不支援觸發器,所以你第二個需求不能用觸發器實現。

其次是 非常遺憾,mysql中觸發器中不能對本表進行 insert ,update ,delete 操作,以免遞迴迴圈觸發。所以你第乙個需求不能在insert前刪除本表資料

對於update 能用set 進行操作替換,insert與delete只能借助第二張表才能實現需要的目的。

2樓:愛笑的柯南推理

使用delete 觸發器格式:

create trigger tri_updateon tablename

for delete

asbegin

--sql code

end例:

create trigger tri_updateon tablename1 --觸發的表名for delete

asbegin

declare @del_id varchar(40)select @del_id = id from deleted --tablename1 中刪除的資料儲存在 deleted 中

delete tablename2 where id = @del_id --同步刪除tablename2中資料end

3樓:匿名使用者

mysql的觸發器不支援對本表操作的,你只能換種思路,在業務邏輯**去處理這個事情,希望對你有幫助

mybatis批量刪除,為什麼最後一條資料總是刪除不了

4樓:雨雨汀

應該是和你返回值有關吧,你看看你的方法是不是有反回值,ibatis 的delete 是有返回值的,返回值是:更新或刪除的行數!

SQL Server中如何用觸發器,使A表中插入特定條件資料時,將資料插入相同結構的B表,並刪除A中資料

create trigger tr ins del tbaon tba instead of insert asbegin if exists select 1 from inserted where errorid 5 begin insert into tbb select from inser...

RS觸發器電路是如何實現電動機正反轉控制的

老馬 rs觸發器的q 和 q反的狀態 1 在r端和s端為1時q是保持的狀態 2 在r端為0而s端為1時q是置0的 3 在r端為1而s端為0時q是置1的 4 在r端為0而s端為0時q是不確定狀態的。只有r端和s端不同時為0,且r端和s端不同時為1時,q的狀態才可以確定 d觸發器本來就是由rs觸發器演變...

急!!!Sql建立觸發器,SQL如何建立乙個觸發器

建立2個觸發器 create trigger trg update on dbo 資料表a for update asdeclare oldname nvarchar 50 declare newname nvarchar 50 declare tlen int select newname nam...