开发者社区> 问答> 正文

怎么快速准确的判断MySQL数据被修改的内容

我使用PHP MySQL制作了一个数据添加修改功能,关于修改功能。我需要获取每次数据修改了什么内容,以便存储为一个log数据,以备查看。
示例
有一个数据表:

id名称编号
1小明101

然后我通过update语录,修改了小明为小红,修改了101为102等数据。这时候我要做一个log记录,保存某某某时间 将小明改为小红。问题是,如何快捷有效的判断出修改内容。

展开
收起
蛮大人123 2016-02-08 14:01:55 2265 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    新旧数据如果用一维数组表示,可以用PHP函数array_diff_assoc比较两个数组。用很多if判断是很笨的方法,另外也不建议交给数据库来做这种工作

    $old = array('id'=>'1','name'=>'a','sort'=>'1');
    $new = array('id'=>'1','name'=>'b','sort'=>'2');
    $result1 = array_diff_assoc($new, $old);
    $result2 = array_diff_assoc($old, $new);
    print_r($result1); //Array ( [name] => b [sort] => 2 )
    print_r($result2); //Array ( [name] => a [sort] => 1 ) 
    2019-07-17 18:39:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像