0

这是一些示例数据库代码:

mysql_query("DELETE FROM table1 WHERE info1 = 'blah'");
mysql_query($personal_query);

从理论上讲,第二行可以在第一行完成删除之前执行吗?如果是这样,我如何使代码不是异步的?在继续之前,我需要确保删除已完成。仅仅获得一个返回值就可以解决这个问题吗?

$result = mysql_query("DELETE FROM table1 WHERE info1 = 'blah'");
mysql_query($personal_query);

谢谢。

4

2 回答 2

2

您正在寻找的是一种锁定行或整个表的方法。这应该会有所帮助:http ://dev.mysql.com/doc/refman/5.5/en/locking-issues.html

您必须记住,当两个或多个用户在同一个表/行上工作时,通常会应用所谓的“竞争条件”。

PS您不应该使用古老的mysql_*功能编写任何新代码。它们不再被维护,社区已经开始弃用它们。相反,您应该学习如何将PDOMySQLi准备好的语句一起使用。如果您决定使用 PDO,那么这里有一个很好的教程

于 2012-04-18T22:28:53.293 回答
0

不,当然不是,它将按顺序运行,直到函数完成并返回才会继续

于 2012-04-18T22:24:49.647 回答