Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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/8/mysql/55.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
检测';使用读锁'刷新表格;在php中_Php_Mysql_Locking - Fatal编程技术网

检测';使用读锁'刷新表格;在php中

检测';使用读锁'刷新表格;在php中,php,mysql,locking,Php,Mysql,Locking,我想从我的应用程序中知道myisam表是否可以接受写入(即未锁定)。如果抛出异常,一切正常,因为我可以捕获该异常并将失败的语句记录到一个文件中。但是,如果发出了“flush tables with read lock”命令(可能是为了备份),那么我发送的查询将永远挂起 如果一次锁定一个表,则insert delayed效果良好。但是当这个全局锁被应用时,我的查询只是等待 我运行的查询是一个insert语句。如果此语句失败或挂起,则会降低用户体验。我需要一种方法将查询发送到服务器,然后忘记它(几乎

我想从我的应用程序中知道myisam表是否可以接受写入(即未锁定)。如果抛出异常,一切正常,因为我可以捕获该异常并将失败的语句记录到一个文件中。但是,如果发出了“flush tables with read lock”命令(可能是为了备份),那么我发送的查询将永远挂起

如果一次锁定一个表,则insert delayed效果良好。但是当这个全局锁被应用时,我的查询只是等待

我运行的查询是一个insert语句。如果此语句失败或挂起,则会降低用户体验。我需要一种方法将查询发送到服务器,然后忘记它(几乎忘记)

有人对如何处理这个问题有什么建议吗

-设置查询超时?
-运行异步请求并允许锁在应用程序继续时过期?
-分叉我的php进程

请让我知道,如果我可以提供和澄清或细节

SHOW OPEN TABLES LIKE "table_name";
为您提供类似以下内容的结果:

database, table, in_use, name_locked
test, my_table, 1, 0
“in_use”列将告诉您是否有其他人在该表上拥有读/写锁

为您提供类似以下内容的结果:

database, table, in_use, name_locked
test, my_table, 1, 0
“in_use”列将告诉您是否有其他人在该表上拥有读/写锁