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

SQL - HVIS FINDER OPDATERING ELLERS INDSÆT I

  1. Opret en UNIQUE begrænsning på din subs_email kolonne, hvis en sådan ikke allerede findes:

    ALTER TABLE subs ADD UNIQUE (subs_email)
    
  2. Brug INSERT ... ON DUPLICATE KEY UPDATE :

    INSERT INTO subs
      (subs_name, subs_email, subs_birthday)
    VALUES
      (?, ?, ?)
    ON DUPLICATE KEY UPDATE
      subs_name     = VALUES(subs_name),
      subs_birthday = VALUES(subs_birthday)
    

Du kan bruge VALUES(col_name)-funktionen i UPDATE-sætningen for at henvise til kolonneværdier fra INSERT-delen af ​​INSERT ... ONDUPLICATE KEY UPDATE - dev.mysql.com

  1. Bemærk, at jeg har brugt parameterpladsholdere i stedet for strengliteraler, som en virkelig skal bruge parametriserede sætninger til at forsvare sig mod SQL-injektionsangreb .


  1. Afmystificere CXPACKET og CXCONSUMER ventetyper i SQL Server

  2. Henter alle objektprivilegier for specifik rolle

  3. Oracle erklæring

  4. MySQL Trigger for at forhindre INSERT under visse betingelser