是否有可能在MySQL中排队客户端访问数据库的请求。我正在尝试为并发管理执行此操作。可以使用MySQL锁,但不知何故,我无法获得理想的结果。排队SQL请求PHP
有效什么,我试图做的是:
- INSERT的东西在新行
- 从该行选择一列
- 存储在一个变量
值当两个不同的客户端同时进行INSERT时,问题就会出现,因此两个客户端的变量都会存储最后一个INSERT的值。
我工作的以下替代,但它在几个测试运行失败,错误是相当明显的:
- INSERT
- 锁表
- 选择
- 商店
- UNLOCK
谢谢!
是否有可能在MySQL中排队客户端访问数据库的请求。我正在尝试为并发管理执行此操作。可以使用MySQL锁,但不知何故,我无法获得理想的结果。排队SQL请求PHP
有效什么,我试图做的是:
值当两个不同的客户端同时进行INSERT时,问题就会出现,因此两个客户端的变量都会存储最后一个INSERT的值。
我工作的以下替代,但它在几个测试运行失败,错误是相当明显的:
谢谢!
阅读关于MySQL中的事务,这就是你需要照顾你的问题。请注意,如果INSERT由于某种原因失败,您还没有想到会发生什么情况。 – 2011-04-11 14:15:59
让我们假设事情按预期工作。当然,你的观点是有效的,但是一旦完成,我想解决这个问题。 – check123 2011-04-11 14:51:13
我真的没有理由不使用这里的交易,你需要的一切都符合交易的目的。您发出的查询要么必须成功(全部),要么发生任何事情(您违反数据完整性)。 MySQL提供的所有功能都可以在事务处理期间使用(比如前面建议的last_insert_id())。在将这个想法抛弃之前考虑它,从长远来看,证明您的数据安全而不是妥协是明智的。 – 2011-04-11 15:00:09