触发器可以用于记录对单个DB列的更改,如https://stackoverflow.com/a/779250/569976中所述,但是这种技术要求为每个列都有一个IF语句。如果您只对一列的更改感兴趣,这并不是什么大问题,但是如果您对所有列的更改感兴趣,那么它就会变得更加笨拙。
通过查询INFORMATION_SCHEMA.COLUMNS表,我可以动态地获取表的所有列名。我的问题是..。我可以用它来动态引用列名吗?就像在触发器中,您会做OLD.columnName <> NEW.columnName,但我不认为您真的可以像这样动态地设置列名。
在PHP中,可以使用变量变量。例如:$obj->$var。但如果MySQL有任何类似之处,那对我来说将是个新闻。
有什么想法吗?还是我要用老式的方法,为这个表中的每一列写一个IF语句?
发布于 2021-07-03 22:24:42
https://stackoverflow.com/questions/68239964
复制相似问题