SQLite - değeri belirli bir sayı kadar artır


94

Bir tablodaki belirli bir değeri, son değeri okumadan ve daha sonra güncellemeden belirli bir sayı kadar artırmak mümkün müdür?

yani, "ürün" ve "kalite" sütunlarım var: ürün: iLamp kalitesi: 50

Kaliteyi x kadar artırmak (veya azaltmak) istiyorum. Bunu başarmak için önce son değeri (50) okuyup, artırıp azaltarak ve tekrar yazıyorum.

Bu görevi tamamlamanın doğrudan bir yolu var mı?

Yanıtlar:


206

Örnek 1 (tüm satırlar için):

UPDATE Products SET Price = Price + 50

Örnek 2 (belirli bir satır için):

UPDATE Products SET Price = Price + 50 WHERE ProductID = 1

Örnek 3 (genel):

UPDATE {Table} SET {Column} = {Column} + {Value} WHERE {Condition}

Nerede:

  • {Table} - Tablo ismi
  • {Column} - sütun adı
  • {Value} - sütunun değerinin artırılması veya azaltılması gereken sayı
  • {Condition} - varsa bazı koşullar

3
FROM bir SQLite anahtar kelimesidir? Doktorlar bunu belirtmiyor gibi görünüyor. sqlite.org/lang_update.html
Jason S

bu nasıl sqlite3 ile python'da yapılabilir? Bir sütun + = 1'i güncellemem gerekiyor, burada ilk sütunda =?
st.ph.n

@ user3358205: Adamın dediği gibi ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates

Bir kriter listesini artırmak için, şöyle bir şey yapınUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp

@Konstantin, bir sütunun tüm satır değerini kademeli olarak artırmak mümkün müdür? Diyelim ki mevcut satırlar "R, S, T" ise, o zaman "R1, S2, T3" olmalıdır. Herhangi bir öneri ?
CoDe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.