提交后是否可以保持SELECT ... FOR UPDATE行锁定?

时间:2016-02-29 03:01:51

标签: java mysql locking

我有一个SELECT语句,我想用它来锁定ResultSet - 更新的选定行。特别是,

stmt = conn.prepareStatement("SELECT name, in_use, done FROM test LIMIT 1 FOR UPDATE;", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery();
if ( rs != null && rs.last() ) {
    name = rs.getString(1);
    System.out.println(name);

    Thread.sleep(60_000);
    // --- Is it possible to keep the row-lock here? ---

    rs.updateInt(2, 1);
    rs.updateRow();
}

我意识到我可以在1分钟睡眠期间对所选行进行任何类型的更改。

,我将不胜感激。在关闭ResultSet之前,如何保持行锁定的任何提示都将受到赞赏。

提前感谢。

0 个答案:

没有答案