我想保证我的MySQL表中的行在创建后无法作。
我知道只授予插入和选择权限是朝着这个方向迈出的一步,但我也想确保 root 用户在插入后无法更改数据。
增量散列:为此,我想到了一个额外的列"hash",它存储与新列数据连接的最后一行哈希的哈希值。
如果我然后导出哈希值,例如每天导出,则可以检测到任何操作。
我说的对吗?你能指出一些已经这样做的资源吗?会用触发器来做到这一点吗?也许甚至在只能通过root访问的辅助表中?
像这样
: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 ;