MySQL在更新前检查?

imp*_*335 2 mysql

我有一个查询更新一行中的一列,其中 id = X

该列包含一个数字(1 到 3)。

首先检查列的值以确定是否需要 UPDATE 是否更有效,还是即使列值与要更新的列值相同,也只是 UPDATE 更好?

如果我先检查该值,我是否为自己节省了不必要的写入?

Ben*_*Ben 5

您可以检查更新:

update my_table
   set my_column = 'new_value'
 where id = 'X'
   and my_column <> 'new_value'
Run Code Online (Sandbox Code Playgroud)

操作位是,and my_column <> 'new_value',如果值相同,它将确保您不会更新它。

好处是您只需查询一次表,而不必进行不必要的写入。