假设 PHP 脚本将一些文本附加到 MySQL 数据库中已有的数据中。假设现有数据是abc
。现在,一个用户想要附加 123
,另一个用户想要附加 xyz
。他们两个同时运行脚本。首先添加谁的?最终结果是abc123xyz
还是abcxyz123
?
在更糟糕的情况下,假设脚本首先获取数据,将给定的文本附加到其中,然后替换数据库中的旧数据。那么谁的改变会在这里“生存”呢?结果是abc123
还是abcxyz
?
很抱歉,如果之前有人问过这个问题。
最佳答案
取决于您使用的引擎。对于 InnoDB,MySQL 仅对写入执行行级锁定。 使用查询访问数据库会有微小的差异
它将执行第一个查询。然后它将执行第二个查询 因此数据将是 123abc 或 123xyz,具体取决于首先执行的查询。
关于php - 当多个用户尝试同时更改网站 MySQL 数据库中的相同数据时,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28229567/