Sobes.tech
Junior — Middle

Avez-vous utilisé la commande SELECT FOR UPDATE pour verrouiller des lignes lors du travail avec la base de données?

sobes.tech IA

Réponse de l'IA

Oui, la commande SELECT FOR UPDATE est utilisée pour bloquer les lignes sélectionnées dans la base de données afin d'empêcher leur modification par d'autres transactions jusqu'à la fin de la transaction en cours. Cela est utile lors de la mise en œuvre d'une logique où il faut garantir que les données ne changent pas entre la lecture et la mise à jour suivante.

Exemple d'utilisation en Java avec 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()) {
        // Travailler avec les données
    }
    // Après toutes les opérations, le commit de la transaction lèvera le verrou
}

Il est important que SELECT FOR UPDATE soit exécuté dans une transaction pour que le verrou soit efficace.