Sql 我如何知道表中的列是否真的发生了更改

Sql 我如何知道表中的列是否真的发生了更改,sql,Sql,如何知道表中的列是否真的发生了更改? 例如 我有以下行的表产品: id | prod_name | prod_code | is_used _________________________________________ 1 | prod1 | code1 | 1 2 | prod2 | code2 | 0 3 | prod3 | code3 | 0 4 | prod4 | code4 | 0

如何知道表中的列是否真的发生了更改? 例如 我有以下行的表产品:

id  | prod_name  | prod_code  | is_used
_________________________________________
1   | prod1      | code1      | 1
2   | prod2      | code2      | 0
3   | prod3      | code3      | 0
4   | prod4      | code4      | 0
5   | prod5      | code5      | 0
6   | prod6      | code6      | 0
我执行以下查询

update product set is_used = 1 where prod_name like 'prod%'
在这个简单的示例中,所有行都将具有is_used=1
我怎么知道第一行的使用情况没有改变?

您维护了一个更新的Datetime列,并在更新该行/列时使用当前的Datetime更新该列,或者有一个审计表来捕获历史记录

您可以添加一个触发器,将字段的先前值与字段的更新值进行比较,然后在字段“真的”更改时执行您想要的任何操作。

您使用的是什么RDBMS?为什么要这样做?您的声明非常清楚,您希望更新products表中的所有products行,其中它们的名称以“prod”开头。我找不到你。你想知道在你查询之后行会受到什么影响吗?没有太多意义。您可以有一个额外的字段
Updated
并使用
update product set is_used=1,Updated=1,其中prod_名称类似于“prod%”
是的,在触发器中您可以检测行更改,例如,记录行更改。