在使用MySQL从初始表触发更新后,我试图通过将记录插入日志表来记录来自一个表的更新。
我似乎无法让下面的代码导致插入发生。
我需要做些什么来解决这个问题?
触发码
CREATE TRIGGER `issueaim_update` AFTER UPDATE ON `issues`
FOR EACH ROW INSERT INTO issuehistory
SELECT 'update', (select max(revision)+1 from issuehistory where issueid = i.issueid), NOW(), '', IssueID, ProjectID, IssueTitle, Criticality, AssignorID, OwnerID, AltOwnerID, ApproverID, AssignedDate, CompletionDate, DueDate, ECD, ClosedDate, IssueStatement, ClosureCriteria, ClosureStatement, RootCause, CorrectiveAction, IssueResolutionVerification, RejectionJustification, NEW.Category1, Category2, Category3, Category4
FROM ProjectAIM.issues AS i WHERE IssueID = NEW.IssueID and ProjectID = NEW.ProjectID错误日志-最近记录的错误
2016-06-12 21:55:39 10 e0 InnoDB: Error:表“mysql”的表空间。“innodb_table_stats”缺失。 2016-06-12 21:55:39 10 e0 InnoDB: Error:获取表“projectaim”所请求的持久统计数据。“问题”,但所需的系统表mysql.innodb_table_stats和mysql.innodb_index_stats没有出现或没有意外的结构。使用瞬态统计数据代替。
发布于 2016-06-15 01:35:03
I能够按照以下四个步骤解决这个问题。
1)首先,我将phpmyadmin中的表备份为sql导入脚本。
2)按照下面解决方案链接中的说明,我解决了表空间问题。
3)然后在phpmyadmin中再次运行script脚本/触发器创建脚本来创建、填充表,并重新创建触发器。
4)最后,我用更新进行了测试,并将更新后的记录插入到日志中。
https://stackoverflow.com/questions/37782237
复制相似问题