sql >> Database teknologi >  >> RDS >> Mysql

Mysql-forespørgsel:sænk værdien med 1

Du behøver ingen tilbud.

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

For at forstå, er det som en klassisk affekt på alle sprog:"Jeg vil have my_field er lig med my_field (den aktuelle værdi) minus 1 .
Hvis du sætter anførselstegn, betyder det "Jeg vil have my_field er lig med strengen:

  1. 'my_field-1' (til din første forespørgsel)
  2. 'my_field' - 1 (hvilket ikke betyder noget, i det mindste for mig:hvad er resultatet af en streng minus et heltal?)
  3. '-1' , som vil blive konverteret til -1, hvis dit felt har INTEGER-signeret typen.

I nogle tilfælde (hvis du har mellemrum eller specialtegn, hvis dit feltnavn), kan du omgive feltnavnet med `backticks`:

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


  1. Hibernate, JDBC og Java ydeevne på mellemstore og store resultatsæt

  2. Indlæser Big Data hurtigere

  3. Gruppering af data ved hjælp af OVER- og PARTITION BY-funktionerne

  4. mit nodejs-script afsluttes ikke af sig selv efter vellykket eksekvering