我不熟悉触发器,在使用触发器时遇到了一些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中插入任何说明“重复条目”消息的条目。当我放下扳机的时候,一切正常。
暂无答案!
目前还没有任何答案,快来回答吧!