【发布时间】:2012-11-15 17:48:22
【问题描述】:
我有一个关于并发控制以及何时需要担心的问题。我创建了一个 PHP/MySQL 站点(InnoDB)。我知道如何避免事务问题,但是还有并发控制。
我的网站是一个电子商务,其中包含用户插入的商品,例如。当用户向站点插入新项目时,数据库会创建一个 productId 作为主键(由数据库自动递增)并存储通过表单提交的有关该产品的其他数据。我正在使用准备好的语句。
我是否需要担心是否有两个或更多用户同时执行此操作?是否有可能同时提交两个或多个项目会弄乱不同行的数据?
如果这对问题很重要,用户必须使用会话登录才能插入产品。
提前致谢,马库斯。
【问题讨论】:
-
没有。无论执行多少并行插入,auto_increment id 都保证是唯一的。在回滚的事务中创建的 id 也将永远不会被重用。
-
啊哈,很高兴知道这一点。谢谢你的回答。
标签: php concurrency mysqli controls