Junior — Middle
Použili ste príkaz SELECT FOR UPDATE na zámok riadkov pri práci s databázou?
sobes.tech AI
Odpoveď od AI
Áno, príkaz SELECT FOR UPDATE sa používa na zablokovanie vybraných riadkov v databáze, aby ich nemohli meniť iné transakcie do dokončenia aktuálnej. Toto je užitočné pri implementácii logiky, kde je potrebné zabezpečiť, že údaje sa nezmenia medzi čítaním a následnou aktualizáciou.
Príklad použitia v Java s 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()) {
// Práca s údajmi
}
// Po vykonaní všetkých operácií, commit transakcie odstráni zámok
}
Dôležité je, aby SELECT FOR UPDATE bol vykonávaný v rámci transakcie, aby bola zámka účinná.