UPDATE语句有任何限制吗?

时间:2017-08-13 07:17:08

标签: mysql sql-update

UPDATE 语句是否有任何限制,我必须更新包含大量数据集的表中的记录,更新期间是否有可能发生错误。我必须在皇冠工作上运行脚本。

1 个答案:

答案 0 :(得分:0)

是的,但这取决于您的存储引擎和一些选项:

  • --safe-updates选项禁止您更新行,除非“您在WHERE子句中指定了键约束或提供了LIMIT子句(或两者都有)”
  • InnoDB(默认存储引擎)是事务性的,并在操作期间锁定所有受影响的行,这将限制并发访问。如果发生错误以回滚更改并在以后从中恢复,则可以使用此功能。
  • MyISAM(广泛使用的旧引擎)速度更快,但不太健壮,如果在大型更新期间发生错误,您可能会失去更改。

否则,这种操作并不是那么罕见,所以如果您使用的是合适的存储引擎,除了在更新期间性能下降之外,您还应该没有任何困难。