php - 当多个用户尝试同时更改网站 MySQL 数据库中的相同数据时,会发生什么情况?

标签 php mysql runtime

假设 PHP 脚本将一些文本附加到 MySQL 数据库中已有的数据中。假设现有数据是abc。现在,一个用户想要附加 123,另一个用户想要附加 xyz。他们两个同时运行脚本。首先添加谁的?最终结果是abc123xyz还是abcxyz123

在更糟糕的情况下,假设脚本首先获取数据,将给定的文本附加到其中,然后替换数据库中的旧数据。那么谁的改变会在这里“生存”呢?结果是abc123还是abcxyz

很抱歉,如果之前有人问过这个问题。

最佳答案

取决于您使用的引擎。对于 InnoDB,MySQL 仅对写入执行行级锁定。 使用查询访问数据库会有微小的差异

它将执行第一个查询。然后它将执行第二个查询 因此数据将是 123abc 或 123xyz,具体取决于首先执行的查询。

关于php - 当多个用户尝试同时更改网站 MySQL 数据库中的相同数据时,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28229567/

相关文章:

php - MySQL 喜欢和限制

mysql - SOLR mysql - 抱歉,没有定义数据导入处理程序

php - Laravel 5.1 将多个重复记录输入数据库

php - moodle:来自 stdclass 对象的 SQL where 子句

php - 启用安全浏览后,Facebook 会发送一个空白的签名请求

java - XML 模式与 Java 代码的运行时绑定(bind)

java - InputStream 和 StreamGobbler 有什么区别?

javascript - 如何让 javascript 函数在 php 表中工作?

php - 如何使用 LIKE 忽略 mysql 搜索查询中的空格?

c# - 将 IList 转换为 SomeType[]