我想更新表中的一行,在更新之前,是否需要检查每列中是否有任何更改?
pbpqsu0x1#
在mysql中,不需要检查值。如果没有更改,mysql不会更新记录。这意味着mysql不会产生记录或写入数据的开销。检查是否有任何值发生了变化需要花费一点成本,我认为它确实运行了触发器。其他数据库表现不同。这是在一个神秘的位置在文件中,其中 mysql_affected_rows() 描述如下:对于update语句,默认情况下,“受影响的行”值是实际更改的行数。. . .大于零的整数表示受影响或检索到的行数。零表示没有更新update语句的记录,没有与查询中where子句匹配的行,或者还没有执行任何查询。
mysql_affected_rows()
6jygbczu2#
这完全取决于你是否有任何东西在手之前检查。可以基于一行、多行或所有行进行更新。更新特定行的示例如下:
UPDATE your_table SET Username='TestName123' WHERE UserID='12486';
您将更改用户名的位置,其中userid为12486或者你可以用你想要的数据更新所有的行
UPDATE Customers SET Country='USA'
这将更新每个记录,使国家栏填写usa。
2条答案
按热度按时间pbpqsu0x1#
在mysql中,不需要检查值。如果没有更改,mysql不会更新记录。这意味着mysql不会产生记录或写入数据的开销。检查是否有任何值发生了变化需要花费一点成本,我认为它确实运行了触发器。
其他数据库表现不同。
这是在一个神秘的位置在文件中,其中
mysql_affected_rows()
描述如下:对于update语句,默认情况下,“受影响的行”值是实际更改的行数。
. . .
大于零的整数表示受影响或检索到的行数。零表示没有更新update语句的记录,没有与查询中where子句匹配的行,或者还没有执行任何查询。
6jygbczu2#
这完全取决于你是否有任何东西在手之前检查。可以基于一行、多行或所有行进行更新。
更新特定行的示例如下:
您将更改用户名的位置,其中userid为12486
或者你可以用你想要的数据更新所有的行
这将更新每个记录,使国家栏填写usa。