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...