我有一个名为history的表,用于跟踪对另一个表所做的更改。基本思路是能够跟踪最后更新特定条目的人。
当我第一次插入时,它会创建一个显示操作字段的条目为' UPLOAD'。下次输入相同的密钥时,我需要创建一个新的历史记录,其中的操作是“更新”,这样我就可以看到它何时首次制作,以及之后更新了该密钥。
不幸的是,在DUPLICATE KEY INSERT ...不是一个mysql构造。 我该怎么办?
到目前为止,我有:
INSERT INTO history (key,userID,action,note,date)
VALUES (?,?,?,?,?)
*行动的价值始终是“上传”,即使它是一次更新 **问号来自准备好的声明绑定
如果密钥存在于历史记录中,我需要将操作更改为更新'并创建一个新条目 - 它永远不应该更改已存在的条目。
答案 0 :(得分:4)
您可以使用触发器
<th>
但它们很难跟踪,特别是没有人在MySQL上使用它们。