我也有一个表,其中包含用户登录信息和注册。因此,当两个用户连续尝试添加其详细信息时:
写入冲突和表都不会更新吗?
使用线程进行这些写操作不是一个好主意。对于每次写入,都会创建一个新线程,这将阻塞服务器。服务器负责它自己管理吗?
锁定桌子是个好主意吗?
我的后端在PHP / Apache和MySQL(InnoDB)上运行数据库。
最佳答案
关系数据库旨在避免此类情况。除非您是从头开始设计自己的关系数据库,否则您不必担心它们。
简而言之,只需知道这一点:每当启动写入操作时,都会有一个行级锁。如果另一个事务要写入同一行,则它必须等到第一个事务释放锁。这是关系数据库的基础部分。您不需要添加锁,因为他们已经想到了这一点:)
您可以阅读有关MySQL如何执行锁定以避免死锁和其他事务错误的更多信息here。
关于php - 从数据库写入和读取时如何防止并发?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51449103/