SQLite - tăng giá trị lên một số nhất định


93

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

tức là tôi có các cột "sản phẩm" và "chất lượng": product: iLamp quality: 50

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

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

Câu trả lời:


201

Mẫu 1 (cho 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 (chung):

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

Ở đâu:

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

3
FROM là một từ khóa SQLite? Các tài liệu dường như không chỉ ra điều đó. sqlite.org/lang_update.html
Jason S

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 ở cột đầu tiên =?
st.ph.n

@ user3358205: Giống như người đàn ông nói ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates

Để tăng trên một danh sách các tiêu chí , làm một cái gì đó giống nhưUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp

@Konstantin điều này có thể tăng dần giá trị hàng của một cột không? Giả sử nếu các hàng hiện có là "R, S, T" thì nó phải là 'R1, S2, T3'. Bất kì lời đề nghị nào ?
CoDe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.