Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn Mysql:giảm giá trị đi 1

Bạn không cần bất kỳ dấu ngoặc kép nào.

UPDATE my_table SET my_field = my_field - 1 WHERE `other` = '123'

Để hiểu, nó giống như một ảnh hưởng cổ điển trong bất kỳ ngôn ngữ nào:"Tôi muốn my_field bằng với my_field (giá trị hiện tại) trừ đi 1 .
Nếu bạn đặt dấu ngoặc kép, nó có nghĩa là "Tôi muốn my_field bằng với chuỗi:

  1. 'my_field-1' (cho truy vấn đầu tiên của bạn)
  2. 'my_field' - 1 (điều đó không có nghĩa gì, ít nhất là đối với tôi:kết quả của một chuỗi trừ đi một số nguyên là bao nhiêu?)
  3. '-1' , sẽ được chuyển đổi thành -1 nếu trường của bạn có kiểu ký tên INTEGER.

Trong một số trường hợp (nếu bạn có dấu cách hoặc ký tự đặc biệt nếu tên trường của bạn), bạn có thể bao quanh tên trường bằng `dấu gạch ngược`:

UPDATE my_table SET `my_field` = `my_field` - 1 WHERE  other = '123'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để khôi phục tệp kết xuất từ ​​mysqldump bằng kubernetes?

  2. Lỗi kích thước hàng quá lớn trong truy vấn tạo bảng mysql

  3. MySQL Group_Concat () so với T-SQL String_Agg ()

  4. Điều khoản LIMIT thay thế trong JPQL là gì?

  5. Làm cách nào để kết nối cơ sở dữ liệu mysql và chèn dữ liệu vào đó bằng mã android