Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql:执行查询的序列_Mysql_Database - Fatal编程技术网

mysql:执行查询的序列

mysql:执行查询的序列,mysql,database,Mysql,Database,我必须将一行更新到tableInnoDB中,然后在选择我更新的最后一个注册表之后进行插入。如果update语句的连接太慢,select语句是否会得到错误的行?假设我使用两个不同的查询 您是使用SQL运行脚本还是在其他地方运行脚本?例如PHP、Python、C 来自SQL的脚本应该*在继续下一行之前始终完成一行,但是如果您不确定,可以在运行第二行之前调用sleep函数或wait delay函数来暂停 *我说应该,因为我见过一些极为罕见的随机情况,通常是运行时间较长的查询。如果第一个作业需要很长时间

我必须将一行更新到tableInnoDB中,然后在选择我更新的最后一个注册表之后进行插入。如果update语句的连接太慢,select语句是否会得到错误的行?假设我使用两个不同的查询

您是使用SQL运行脚本还是在其他地方运行脚本?例如PHP、Python、C

来自SQL的脚本应该*在继续下一行之前始终完成一行,但是如果您不确定,可以在运行第二行之前调用sleep函数或wait delay函数来暂停


*我说应该,因为我见过一些极为罕见的随机情况,通常是运行时间较长的查询。如果第一个作业需要很长时间才能完成,那么在作业代理中安排第一个作业可能是值得的,然后在当天晚些时候安排第二个作业。

MySQL不保留行插入顺序的记录。任何基于上次更新的注册表的算法都必须实现自己的方法来收集所需的信息。如果没有,它迟早会得到错误的一行。网络速度可能没有并发访问那么重要。

如果您在自动递增的主键上使用最后一个插入id,则不会。请显示您正在使用的查询?这取决于您如何识别正在更新/选择的行。更好的做法是,在过程中执行。@草莓-请注意,第一个查询是更新,而不是插入,因此最后一个插入id不适用。欢迎使用so。请考虑得到更好的答案始终是一个好主意,张贴你的代码或所有需要回答的细节!我正在从PHP执行查询。在大多数情况下,除非您已经以某种方式说明了这一点,否则PHP可能不会在执行完一个查询后再开始下一个查询。一个快速而简单的解决方案是将查询放入存储过程,然后运行存储过程。