admin

如果不同/更改则更新

sql

是否可以在sql中执行更新语句,但仅在更新不同时才执行更新?

例如

如果在数据库中, col1 = "hello"

update table1 set col1 = 'hello'

不应 执行任何类型的更新

但是,如果

update table1 set col1 = "bye"

应该 执行更新。


阅读 194

收藏
2021-05-10

共1个答案

admin

使用更新前触发器可以做到这一点。在此触发器中,您可以将旧值与新值进行比较,并在新值不变的情况下取消更新。但这将导致呼叫者网站上的错误。
我不知道为什么要这样做,但是这里有几种可能性:

  1. 性能:这里没有性能提升,因为更新不仅需要找到正确的行,而且还需要比较数据。
  2. 触发器:如果仅在发生真正更改时才触发触发器,则需要像这样实现触发器,以便在执行任何操作之前将所有旧值与新值进行比较。
2021-05-10