Mysql
 sql >> Base de données >  >> RDS >> Mysql

vérifier les données en double avant l'insertion

Si vous voulez DutyName et volNric pour avoir des valeurs uniques, faites-le avec une contrainte/index unique :

create index idx_assignrequests_dutyname_volnric on assignrequests(dutyname, volnric);

Ensuite, lorsque vous faites le insert , vous pouvez le laisser échouer. Ou, vous pouvez simplement l'ignorer en utilisant on duplicate key update :

INSERT into assignrequests(reqId, dutyName, volNric)"
    VALUES ('" + id + "','" + dutyName + "','" + volNric + "')
    ON DUPLICATE KEY UPDATE dutyName = VALUES(dutyName);

La colonne en cours de mise à jour est définie sur elle-même -- donc l'opération ne fait rien.