sql >> Databasteknik >  >> RDS >> Mysql

SQLSTATE[23000]:Felhantering för överträdelse av integritetsbegränsning

Din fråga verkar vara ganska vag - antingen vill du ignorera dina integritetsbegränsningar eller så vill du att de ska vara en signal som säger "inga fler inlägg".

Förutom svaret med insert ignore lösning - när du kör din fråga och får SQLSTATE[23000]: Integrity constraint violation fel, det betyder att PDO ger undantag. Om du inte catch det är ditt manus dödat. Om du inte vill att den ska dödas, slå in din DB-kod i try-catch-konstruktionen, dvs.:

try {
    // code here
    $insertItem = $db->query("
                              INSERT INTO cart (userid, itemid) 
                              VALUES (:userid, :itemid)", 
                              array("userid"=>"175", "itemid"=>"12")
                            );
    // more code here
} catch(Exception $e) {
    // handle exception - 
    // find out if it is caused by integrity contraints violations
    // and if it is - merely go further
    // otherwise do something else, like re-throwing your exception
}

HTH



  1. Kan inte köra MySql Utilities

  2. Hur får jag information om datum/tid från en TIMESTAMP-kolumn?

  3. Strange MySQL Popup Mysql Installer körs community mode

  4. hur skriver man ut post från databasen när användaren väljer alternativ från rullgardinsmenyn? dynamiskt program