Nu när det är år 2015 finns det väldigt få anledningar till att inte använda PHPs SUB implementering.
Den korrekta, moderna "OO"-metoden för att upptäcka och hantera ett insättningsfel på grund av en överträdelse av nyckelbegränsningen är följande:
try {
//PDO query execution goes here.
}
catch (\PDOException $e) {
if ($e->errorInfo[1] == 1062) {
//The INSERT query failed due to a key constraint violation.
}
}
PDOException objektet har en mängd mer att säga om felets specifika karaktär också (mer detaljer än man någonsin skulle kunna önska eller behöva, till synes).