刷新MySQL命令行的数据而不退出和重新输入
在Linux上,我认为我的MySQL查询在某种程度上不起作用,因为查询不会显示输入到表中的数据量的任何进展。有没有一种方法可以在不退出和重新进入命令行的情况下刷新MySQL命令行可用的数据刷新MySQL命令行的数据而不退出和重新输入,mysql,refresh,Mysql,Refresh,在Linux上,我认为我的MySQL查询在某种程度上不起作用,因为查询不会显示输入到表中的数据量的任何进展。有没有一种方法可以在不退出和重新进入命令行的情况下刷新MySQL命令行可用的数据 我一直在四处搜索,但到目前为止只看到运行mysql-e并将其放入bash循环。我喜欢在MySQL命令行中运行其他命令,如descripe tables您看到的可能是长期运行的REPEATABLE-READ事务的结果。在开始新事务之前,只能看到启动当前事务时提交的数据 通常,mysql客户端在autocommi
我一直在四处搜索,但到目前为止只看到运行
mysql-e
并将其放入bash循环。我喜欢在MySQL命令行中运行其他命令,如descripe tables
您看到的可能是长期运行的REPEATABLE-READ
事务的结果。在开始新事务之前,只能看到启动当前事务时提交的数据
通常,mysql客户端在autocommit
模式下运行。也就是说,每个SQL语句都隐式启动并提交自己的事务。在这种模式下,每次查询时都应该看到当前数据。您显然没有使用自动提交模式
您可以启用自动提交:
mysql> SET SESSION autocommit=1;
或者,您可以在方便的时候开始新的交易:
mysql> BEGIN;
另一个选项是在读提交的事务中操作。这意味着您的事务不需要保留从启动事务时起的可重复数据视图。它总是查看最近提交的更改,即使在事务正在进行时也是如此
mysql> SET SESSION tx_isolation='READ-COMMITTED';
mysql> BEGIN;
(注意:MySQL 8.0.3将tx\u隔离
的名称更改为transaction\u隔离
)
上述评论中发布的@JimmyB链接对阅读很有帮助。请查看。