我想保证MySQL表中的行在创建后无法操作。
我知道只授予insert和select权限是这方面的一步,但我也想确保root用户在插入后不能更改数据。
增量散列: 为此,我考虑了一个额外的列'hash',它存储了与新列数据相连的最后一行哈希的哈希值。
如果我然后导出哈希例如。每天都可以检测到任何操纵。
我是对的吗?你能指点我已经完成的一些资源吗?人们会用触发器做到这一点吗?甚至可能只在一个只能由root访问的辅助表中?
答案 0 :(得分:0)
类似的东西:
DELIMITER $$
CREATE TRIGGER trigger_hash
AFTER INSERT
ON table_name FOR EACH ROW
BEGIN
UPDATE table_name
SET hash = MD5(concat(NEW.field1, NEW.field2, NEW.field3, ...))
WHERE id= NEW.id
END;
$$
DELIMITER ;