doujiong3146 2015-01-30 05:07
浏览 81
已采纳

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

Say a PHP script appends some text to an already existing data in a MySQL database. Say the existing data is abc. Now one user wants to append 123 and another wants to append xyz. Both of them run the script at the same time. Whose will be appended first? Will the final result be abc123xyz or abcxyz123?

At a worse case, say the script first takes the data, appends the given text to it, and then replaces the old data in the database. Then whose change will 'survive' here? Will the result be abc123 or abcxyz?

Sorry if it has been asked before.

  • 写回答

1条回答 默认 最新

  • duanli9591 2015-01-30 05:24
    关注

    Depends on the engine you use. For InnoDB MySQL performs row-level lock only for writes. There will be a tiny minute difference in hitting the database with the query

    It will execute the first query.Then it will execute the second query so the data will be either 123abc or 123xyz depending upon which query executed first.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?