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

Forøg et databasefelt med 1

Opdatering af en post:

En simpel stigning burde gøre tricket.

UPDATE mytable 
  SET logins = logins + 1 
  WHERE id = 12

Indsæt ny række, eller Opdater, hvis den allerede er til stede:

Hvis du gerne vil opdatere en tidligere eksisterende række eller indsætte den, hvis den ikke allerede eksisterer, kan du bruge REPLACE syntaks eller INSERT...ON DUPLICATE KEY UPDATE mulighed (Som Rob Van Dam demonstreret i hans svar ).

Indsættelse af en ny post:

Eller måske leder du efter noget som INSERT...MAX(logins)+1 ? I bund og grund vil du køre en forespørgsel, der ligner følgende - måske lidt mere kompleks afhængigt af dine specifikke behov:

INSERT into mytable (logins) 
  SELECT max(logins) + 1 
  FROM mytable


  1. Sammenlign DATETIME og DATE ignorerende tidsdel

  2. Sådan formateres en dato i T-SQL

  3. Skal erklære variablen @myvariable fejl med ADO-parameteriseret forespørgsel

  4. Forstå forskellene mellem tabel- og transaktions-API'er