由于触发器导致表上的锁问题

3bygqnnd  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(413)

我不熟悉触发器,在使用触发器时遇到了一些transactiondatetracking表的锁问题(在transactiondatetracking中插入时出现重复条目消息)。以下是表格结构
创建表 TransactionDateTracking ( Id int(11)非空自动增量, TransactionTrackType varchar(50)不为空, TransactionTrackDate 日期不为空, LastRunDate datetime默认值为空,主键( Id ),唯一键 TransactionTrackType_UNIQUE ( TransactionTrackType ))engine=innodb auto\u increment=645默认字符集=1;
创建表 JournalJobLog ( TransformationId int(11)非空自动增量, TransformationName varchar(255)不为空, LastUpdated 时间戳为空默认为空, LastFailureDate 时间戳为空默认为空, RevisionNumber bigint(20)默认为null,主键( TransformationName ),键 IDX_JournalJobLog ( TransformationId ))engine=innodb auto\u increment=302默认字符集=utf8;
下面是我使用的两个触发器-drop trigger if exists journaljobloginsert;
分隔符$$
在插入后创建触发器日志JobLoginSert TransactionDateTracking 对于每行begin insert into journaljoblog set transformationname=new.transactiontracktype,lastupdated=new.transactiontrackdate;结束$$
分隔符;

如果存在journaljoblogupdate,则删除触发器;
分隔符$$
在上更新后创建触发器journaljoblogupdate TransactionDateTracking 每行开始

INSERT INTO JournalJobLog (TransformationName, LastUpdated) VALUES(NEW.TransactionTrackType, NEW.TransactionTrackDate) ON DUPLICATE KEY UPDATE    
LastUpdated=NEW.TransactionTrackDate;

结束$$
分隔符;
问题是我无法在transactiondatetracking中插入任何说明“重复条目”消息的条目。当我放下扳机的时候,一切正常。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题