2009-04-13 38 views
60

là có thể tăng giá trị nhất định trong một bảng bằng một số nhất định mà không đọc giá trị cuối cùng và sau đó cập nhật nó không?SQLite - tăng giá trị theo một số nào đó

ví dụ: Tôi có cột "sản phẩm" và "chất lượng": Sản phẩm : iLamp chất lượng: 50

Tôi muốn tăng (hoặc giảm) chất lượng bằng x. Để đạt được điều này tôi lần đầu tiên đọc giá trị cuối cùng (50), tăng hoặc giảm nó, và viết nó trở lại.

Có cách nào trực tiếp để hoàn thành tác vụ này không?

Trả lời

131

Mẫu 1 (đối với tất cả các hàng):

UPDATE Products SET Price = Price + 50 

Mẫu 2 (cho một hàng cụ thể):

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

Mẫu 3 (generic):

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

đâu:

  • {Table} - bảng tên
  • {Column} - Cột tên
  • {Value} - một số mà cột của giá trị nên được tăng hoặc giảm
  • {Condition} - một số điều kiện nếu có
+2

FROM là một từ khóa SQLite? Các tài liệu dường như không chỉ ra nó. http://www.sqlite.org/lang_update.html –

+0

ok, bạn đã sửa nó, cảm ơn. –

+0

làm thế nào điều này có thể được thực hiện trong python với sqlite3? Tôi cần cập nhật col + = 1 trong cột đầu tiên =? –

Các vấn đề liên quan