Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 有没有办法找出使用更新查询更新的内容?_Mysql_Sql_.net - Fatal编程技术网

Mysql 有没有办法找出使用更新查询更新的内容?

Mysql 有没有办法找出使用更新查询更新的内容?,mysql,sql,.net,Mysql,Sql,.net,如果我有3列,并且我的程序可以更新所有3列,我将有一个更新查询: Update table set col1 = @value1, col2 = @value2, col3 = @value3 除了将所有旧值存储到变量中,然后在提交更新后将它们与表中的值进行比较外,是否还可以找出哪些更改了,哪些没有更改?您可以使用触发器(在触发器之后或之前),并在触发器中执行所需操作。如果您需要应用程序级别的数据,则除非存储旧值,否则这将无法工作。您可以在更新时在主表上设置触发器的历史表,以便在更新之前将旧

如果我有3列,并且我的程序可以更新所有3列,我将有一个更新查询:

 Update table set col1 = @value1, col2 = @value2, col3 = @value3

除了将所有旧值存储到变量中,然后在提交更新后将它们与表中的值进行比较外,是否还可以找出哪些更改了,哪些没有更改?

您可以使用触发器(在触发器之后或之前),并在触发器中执行所需操作。如果您需要应用程序级别的数据,则除非存储旧值,否则这将无法工作。

您可以在更新时在主表上设置触发器的历史表,以便在更新之前将旧值插入历史表。

您所说的“查找”是什么意思?你想做什么?我正在尝试为我的程序创建一个日志,如果我有一个表单,可以在包含客户信息的表上添加新/更新数据,如果用户插入一个新信息,我会将其记录为“新数据”,如果他们更新了一个旧信息,我会将其记录为“更新数据”随着变化,比如他们可能改变了客户的姓名、地址或电话号码etc@CodeCaster目前,我只是将我需要的信息插入到一个表中,比如用户登录用户名、计算机名、本地ip,诸如此类,然后你可以在@Manu建议的触发器中这样做。让触发器在日志表中插入更改的数据。这是否可维护是另一个问题。