我正在解决一个bug,并试图排除所有可能的解释,为什么我会看到我的行为。我在PHP中执行了许多MySQL查询(通过CodeIgniter的Active Record类),对我看到的行为的一种解释是查询没有同步执行,即PHP在发出下一个查询之前不会等待查询完成。
我总是在这样的假设下编写代码:如果我通过PHP将某个东西insert
到MySQL表中,然后我的下一行代码执行select
,那么我插入的结果将在下一条语句中可用。这种情况是否有例外?
我正在解决一个bug,并试图排除所有可能的解释,为什么我会看到我的行为。我在PHP中执行了许多MySQL查询(通过CodeIgniter的Active Record类),对我看到的行为的一种解释是查询没有同步执行,即PHP在发出下一个查询之前不会等待查询完成。
我总是在这样的假设下编写代码:如果我通过PHP将某个东西insert
到MySQL表中,然后我的下一行代码执行select
,那么我插入的结果将在下一条语句中可用。这种情况是否有例外?
1条答案
按热度按时间lf5gs5x21#
如果你在同一台服务器上选择了它,并且使用了同一个会话/连接,并且你没有使用过
INSERT DELAYED
,它应该确实存在,但是负载平衡的MySQL服务器/实现/缓存可能会将SELECT
转移到其他服务器或数据位置。