小编Luk*_*kas的帖子

如何知道未提交的事务是否尝试将特定的唯一键插入 SQL 中

我正在编写一个程序,它将数据插入到 MariaDB 服务器中,并且可以由不同的人同时使用。事务需要一些时间,因此可能会出现以下问题:人员 A 使用主键“c”启动事务,而当该事务尚未提交时,人员 B 想要插入具有相同主键“c”的数据。如何防止 B 使用 A 已在其未提交事务中使用的主键来启动其事务?

我使用 MariaDB 作为数据库,InnoDB 作为引擎。

我已经检查了隔离级别,但不知道如何使用它们来解决我的问题。

谢谢!

sql innodb transactions unique-key mariadb

3
推荐指数
1
解决办法
1112
查看次数

如何在初始化期间正确显示警报?

在我initialize()的Controller方法中,MyController我使用SQL查询来初始化组合框的值。但是,例如当用户不在线时,我会得到一个错误,然后我想显示一个Alert

但是问题是,如果我在initialize()方法中这样做,将首先显示Alert,然后显示已初始化的fxml myfxml,因此Alert被其隐藏。我想原因是,在该initialize()方法中,myfxml没有一个Stage还没有,因为它仍在进行初始化,因此我的警报显示在另一个舞台。

但是,建议使用什么方法来解决此问题并将初始化方法显示为Alert的Alert作为Parent?我发现的一种方法是将Exception保存在中MyController,创建一个getter并调用如下方法:

MyController myCon = ((MyController)fxmlLoader.getController());
SQLException e = myCon.getInitializeException();
new Alert(Alert.AlertType.WARNING, e.getMessage());
Run Code Online (Sandbox Code Playgroud)

但是由于myfxmlMenuController的initialize方法中进行了初始化,因此我需要再次重复该代码,这会使我的代码混乱。

那么有没有一种解决我的问题的干净方法?

先感谢您 :)!

java javafx

1
推荐指数
1
解决办法
44
查看次数

如何在 Rust 中并行迭代 HashMap?

我有一个HashMap并且想使用 并行迭代它的值rayonVec我无法使用它,并且首先从值创建 a 是不可行的。

有谁知道如何做到这一点?

rust rayon

-2
推荐指数
1
解决办法
546
查看次数

标签 统计

innodb ×1

java ×1

javafx ×1

mariadb ×1

rayon ×1

rust ×1

sql ×1

transactions ×1

unique-key ×1