假设我正在使用的数据库崩溃或有任何其他错误阻止我对其调用 INSERT
。之后我想知道何时返回对数据库的访问。我想做的是检查我们是否可以每隔 x 秒访问一次(为简单起见 - 每 1 秒)。我不想重复该说明 - 我只需要知道数据库是否可用。
请记住 - 我不仅需要知道数据库是否已启动。我还需要知道我们是否有权使用它,以及 - 总体而言 - 我们是否有权在特定表上调用 INSERT
。
如何使用 Java 以最干净的方式(一般来说 - 用最少的代码)做到这一点?目前我正在使用 Spring 的 JpaRepository
。
最佳答案
如果您事先知道这是表级授权,您可以查询information_schema。table_privileges表:
select * from table_privileges where privilege_type = 'INSERT';
如果是架构级别授权使用:
select * from schema_privileges where privilege_type = 'INSERT';
无论如何,正确的做法是从根本上解决问题。一旦您拥有了表的插入权限,您就不必担心会失去它们,除非是故意撤销的。为什么补助金会消失?这很奇怪,因为赠款是持久的。
关于java - 检查是否可以插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59902285/