Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL - WENN VORHANDEN AKTUALISIEREN SONST EINFÜGEN IN

  1. Erstellen Sie einen UNIQUE Einschränkung auf Ihrer subs_email Spalte, falls noch keine vorhanden ist:

    ALTER TABLE subs ADD UNIQUE (subs_email)
    
  2. Verwenden Sie 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)
    

Sie können die Funktion VALUES(col_name) in der UPDATE-Klausel verwenden, um auf Spaltenwerte aus dem INSERT-Teil des INSERT ... ONDUPLICATE KEY UPDATE - dev.mysql.com

  1. Beachten Sie, dass ich anstelle von String-Literalen Parameter-Platzhalter verwendet habe, wirklich sollten parametrisierte Anweisungen verwenden, um sich gegen SQL-Injection-Angriffe zu verteidigen .