MySQL是一种关系型数据库管理系统,可以通过查询记录的修改历史来确定谁修改了数据库数据。以下是一种可行的方法:
CREATE TABLE history_table (
id INT AUTO_INCREMENT PRIMARY KEY,
original_data JSON,
modification_time TIMESTAMP,
modified_by VARCHAR(50)
);
CREATE TRIGGER audit_trigger BEFORE UPDATE ON original_table
FOR EACH ROW
BEGIN
INSERT INTO history_table (original_data, modification_time, modified_by)
VALUES (JSON_OBJECT('col1', OLD.col1, 'col2', OLD.col2), NOW(), USER());
END;
请注意,这里的original_table
应该替换为实际的表名,col1
和col2
应替换为实际的列名。
SELECT modification_time, modified_by FROM history_table
WHERE JSON_EXTRACT(original_data, '$.col1') = '特定数据值';
这个查询将返回特定数据值的修改历史记录的修改时间和修改人。
注意:在实际的开发中,可能需要根据具体的业务需求进行适当的调整和扩展。
腾讯云相关产品:如果您在腾讯云上使用MySQL作为数据库,可以考虑以下产品:
注意:以上只是一些腾讯云的产品示例,其他云计算品牌商也提供类似的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云