美文网首页
DB受影响行数

DB受影响行数

作者: M_lear | 来源:发表于2024-02-29 11:45 被阅读0次

    update返回值是受影响的行数(Affected rows)。
    对于条件update,我们有时需要根据返回的受影响行数判断更新是否成功。

    有一种情况需要格外注意,如果字段已经是你想要更新的目标值了,比如你想把A记录的字段b更新为1,但是在你更新之前A记录的字段b已经是1了。这种情况下,Mysql和其他主流关系数据库的表现不一样。
    Mysql返回的受影响行数是0(认为行没有被更改),而其他主流DB,如PostgreSQL、Oracle、SQL Server返回的受影响行数则是1(认为更新成功了)。

    例如对这个表,执行UPDATE update_status SET status = 1 WHERE id = 1;

    image.png

    Mysql得到的结果是:

    image.png

    Postgres得到的结果是:

    image.png

    相关文章

      网友评论

          本文标题:DB受影响行数

          本文链接:https://www.haomeiwen.com/subject/nhhjxdtx.html