Junior — Middle
¿Has utilizado la instrucción SELECT FOR UPDATE para bloquear filas al trabajar con la base de datos?
sobes.tech AI
Respuesta de la IA
Sí, la instrucción SELECT FOR UPDATE se utiliza para bloquear las filas seleccionadas en la base de datos, para evitar que sean modificadas por otras transacciones hasta que la actual finalice. Esto es útil al implementar lógica donde se necesita garantizar que los datos no cambien entre la lectura y la actualización posterior.
Ejemplo de uso en Java con JDBC:
String sql = "SELECT * FROM accounts WHERE id = ? FOR UPDATE";
try (PreparedStatement ps = connection.prepareStatement(sql)) {
ps.setInt(1, accountId);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// Trabajar con los datos
}
// Después de realizar todas las operaciones, el commit de la transacción levantará el bloqueo
}
Es importante que SELECT FOR UPDATE se ejecute dentro de una transacción para que el bloqueo sea efectivo.