我正计划在PHP / MySQL中使用一个非常轻量级的帮助台系统,其中一些实时代理将列在一个表中,并设置一个标记,以便它们可以与用户进行对话以进行对话。
我担心的是,在选择开放代理和使用下一个查询更新记录之间的时间内,另一个用户可能已经执行了选择并抓取了相同的代理。
这不是我期望在重负荷之外成为一个巨大的问题,但它仍然是一个担心。我确定此问题已经解决过,但我不确定在哪里可以找到它。我怎样才能避免双重配对?
答案 0 :(得分:1)
使用(My)SQL transactions年前解决了这个问题。这意味着在您的情况下,表结构应该使用InnoDB引擎,并且为了简单起见,您应该使用prepared SQL语句(使用PHP PDO非常简单)。