Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Permintaan MySQL:kurangi nilai sebesar 1

Anda tidak perlu kutipan apa pun.

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

Untuk memahami, ini seperti kepura-puraan klasik dalam bahasa apa pun:"Saya ingin my_field sama dengan my_field (nilai saat ini) dikurangi 1 .
Jika Anda memberi tanda kutip, artinya "Saya ingin my_field sama dengan string:

  1. 'my_field-1' (untuk kueri pertama Anda)
  2. 'my_field' - 1 (yang tidak berarti apa-apa, setidaknya bagi saya:apa hasil dari string dikurangi bilangan bulat?)
  3. '-1' , yang akan dikonversi menjadi -1 jika bidang Anda memiliki jenis bertanda INTEGER.

Dalam beberapa kasus (jika Anda memiliki spasi atau karakter khusus jika nama bidang Anda), Anda dapat mengapit nama bidang dengan `backticks`:

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. Kesalahan koneksi Python SQL (2006, 'kesalahan koneksi SSL:SSL_CTX_set_tmp_dh gagal')

  2. Enkripsi kata sandi dalam pernyataan penyisipan di postgresql menimbulkan kesalahan (Perlu menambahkan pemeran tipe eksplisit)

  3. Tidak dapat terhubung ke database MySql di server linux jarak jauh dari alat GUI windows

  4. mysql timediff ke jam

  5. Cache Basis Data Cerdas (?)