我有一个关于mysql提交和交易的问题。mysql提交和交易
我有几个执行mysql查询的php语句。
我只是说以下吗?
mysql_query("START TRANSACTION");
//more queries here
mysql_query("COMMIT");
这会做什么?它有什么帮助?对于更新,删除和插入我也发现这个从阅读阻止其他查询:
mysql_query("LOCK TABLES t1 WRITE, t2 WRITE");
//more queries here
mysql_query("UNLOCK TABLES t1, t2");
这会阻止其他查询任何性质或只写/选择?
另一个问题:说一个查询正在运行并阻止其他查询。另一个查询尝试访问被阻止的数据 - 并且发现它被阻止。它是如何进行的?它是否等到数据再次解除阻塞并重新执行查询?它是否失败,需要重复?如果是这样,我该如何检查?
非常感谢!
丹尼斯
您是否使用InnoDB或MyISAM表? – Daan
@Daan我使用InnoDB – weltschmerz