2011-04-14 26 views
11

Bir alanın mevcut değerini almak mümkün mü, bir hesaplamada değişken olarak kullanabilir, sonra da sonucu temel alarak alanı güncelleyebilir mi? Tablo 1 'de numarası "1" ile kaydı "2" değerine sahiptir ÖrneğinBir alan MySQL'deki mevcut değerine göre nasıl güncellenir?

SELECT table1 
WHERE ID = "1" 
SET RESULT to CurrentID 
RESULT = CurrentID + 1; 

cevap

12

Bu (artı 1) aynı CurrentID sütun değerine result sütun koyacaktır satır, her satır için o "1" e eşit bir ID sütunu vardır:

UPDATE table1 
SET result = CurrentID + 1 
WHERE ID = "1" 
4

Sen deneyebilirsiniz

Update table1 set ID = ID+1 where ID = 1 
+0

Neden sadece SET ID = 2 WHERE ID = 1 'yapmıyor? – JNK

+0

Demek istediğim, eğer bir seferde sadece bir "ID" yapıyorsa, o zaman açık bir değer ayarlayabilir ve hesaplamayı atlayabilir – JNK

+0

@JNK: Hayır Her seferinde bir değer yapmıyorum Örnek kod oldukça zayıftı - bu mümkün olabileceğinden bile emin değildi, bu yüzden kodu mümkün olduğunca basit tutmaya çalışıyordum. John K. kodu işe yaradı, ancak Oded'in çalışmasını sağlayamıyorum. – blunders

İlgili konular