如何设置MySQL触发器来更新另一个表列?

时间:2015-05-03 22:21:31

标签: mysql triggers

我对触发器不熟悉。我有两个表 - dataTable和infoTable。两者都有一个相关的行同时生成并通过公共字段链接。像这样:

infoTable
appNo | appID | appKey | appName | dateStarted | lastModified | status | reference

dataTable
appID | userID| appNo | appKey | appName | reference | status | dateStarted | lastModified

在AJAX中,dataTable经常在正面填写的表格中更新。填写的表单不会触及infoTable,因此我需要" status"," reference"和#34; lastModified"每次AJAX更新调用后,dataTable中的字段将更新为infoTable。两个表共享一个通用且唯一的appID。

到目前为止,我已尝试过以下方法,但没有成功。

CREATE TRIGGER table_sync AFTER INSERT ON dataTable
FOR EACH ROW
UPDATE records r
SET r.reference    = NEW.reference
  , r.status       = NEW.status
  , r.lastModified = NEW.lastModified
WHERE r.appID = NEW.appID;

虽然MySQL似乎接受语法作为触发器,但它打破了功能系统并且无法实现它的目标。有人可以帮助我使用触发器语法来使它工作吗?

1 个答案:

答案 0 :(得分:0)

关闭问题,因为没有返回任何功能性答案。已经放弃使用触发器(它们似乎有点不可预测)并回过头来处理所有的PHP。也许是略长的蜿蜒方式,但似乎是最可靠的方法。