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

vor dem Einfügen auf doppelte Daten prüfen

Wenn Sie DutyName möchten und volNric Um eindeutige Werte zu haben, tun Sie dies mit einer eindeutigen Einschränkung/einem eindeutigen Index:

create index idx_assignrequests_dutyname_volnric on assignrequests(dutyname, volnric);

Dann, wenn Sie insert machen , du kannst es scheitern lassen. Oder Sie können es einfach ignorieren, indem Sie on duplicate key update verwenden :

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

Die Spalte, die aktualisiert wird, wird auf sich selbst gesetzt – also bewirkt die Operation nichts.