java - 检查是否可以插入 MySQL 数据库

标签 java mysql spring

假设我正在使用的数据库崩溃或有任何其他错误阻止我对其调用 INSERT 。之后我想知道何时返回对数据库的访问。我想做的是检查我们是否可以每隔 x 秒访问一次(为简单起见 - 每 1 秒)。我不想重复该说明 - 我只需要知道数据库是否可用。

请记住 - 我不仅需要知道数据库是否已启动。我还需要知道我们是否有权使用它,以及 - 总体而言 - 我们是否有权在特定表上调用 INSERT

如何使用 Java 以最干净的方式(一般来说 - 用最少的代码)做到这一点?目前我正在使用 Spring 的 JpaRepository

最佳答案

如果您事先知道这是表级授权,您可以查询information_schematable_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/

相关文章:

java - UIL LinearBackground 图像不起作用

mysql - 使用 ColdFusion 9 的 <CFQUERY>-Tag 在 MySQL5 中创建存储过程

spring - 在 Spring 中使用相同的作业详细信息动态重新安排 CronTriggerBean

java - 无法在 Netbeans 7.1 中安装 GWT4NB 插件

java - 无法执行任务 : the task has already been executed error in downloading items

mysql - 根据时间变量对两个表中的一对 COUNT 求和

用于 AND、OR 和 NOT 的 Spring AOP 切入点语法

spring - 自定义Spring 3.0安全过滤器,多个EntryPoints,AuthenticationProvider

java - 从子类中的抽象类扩展嵌套类,并使方法使用嵌套类的新定义

MySQL 搜索查询按匹配相关性排序