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

SQL - SE ESISTE AGGIORNA IN ALTRO INSERIRE

  1. Crea un UNIQUE vincolo sul tuo subs_email colonna, se non esiste già:

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

È possibile utilizzare la funzione VALUES(col_name) nella clausola UPDATE per fare riferimento ai valori di colonna dalla parte INSERT di INSERT ... ONDUPLICATE KEY UPDATE - dev.mysql.com

  1. Nota che ho usato i segnaposto dei parametri al posto delle stringhe letterali, come una cosa veramente dovrebbe utilizzare istruzioni parametrizzate per difendersi dagli attacchi SQL injection .