SELECT FOR UPDATE
- SQL kursu
- İleri seviye
- Ders 63/81
- 4 dk
Satır kilitlemeyi öğrenirsin.
SELECT FOR UPDATE
SELECT FOR UPDATE satırı okur ve kilitler. Transaction bitene kadar başkası değiştiremez.
BEGIN;
SELECT * FROM accounts WHERE id = 1 FOR UPDATE;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
COMMIT;Örnekte: güvenli para çekme.
SELECT FOR UPDATE — ayrıntı
FOR UPDATE okunan satırı kilitler. COMMIT veya ROLLBACK'e kadar kilit kalır.
Örneğin stok kontrolünde SELECT stock FROM products WHERE id = 1 FOR UPDATE yazarsın; işlem bitene kadar başka kimse bu satırı değiştiremez.
Uygulama SELECT FOR UPDATE
SELECT ... FOR UPDATE ile bir satırı kilitle ve güncelle.
Başlangıç kodu
-- güvenli güncelleme
SELECT * FROM accounts WHERE id = 1Örnek çözüm
BEGIN;
SELECT * FROM accounts WHERE id = 1 FOR UPDATE;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
COMMIT;Beklenen çıktı
id balance 1 400
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 FOR UPDATE kilidi ne zaman biter?
- SELECT'te
- COMMIT'te Doğru cevap
- Asla
- UPDATE'te
Açıklama: FOR UPDATE kilidi COMMIT'te biter.
2 FOR UPDATE ekle
SELECT * FROM accounts WHERE id = 1 ____
SELECT * FROM accounts WHERE id = 1 FOR UPDATE
Açıklama: FOR UPDATE doğru cevap.
3 SELECT FOR UPDATE: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
FOR UPDATE |
kilitle + oku |
BEGIN |
başlat |
COMMIT |
kilit bırak |
güvenli |
tutarlı |