Testowałem klucze obce w MySQL. Celem jest zapobieżenie wprowadzeniu id
do table2
, które nie istnieje w table1
. Miałem nadzieję, że użycie foreign keys
po prostu spowoduje, że wiersz nie zostanie wstawiony, ale wydaje się, że zwrócił ten wielki błąd. Jak sobie z tym poradzić w PHP? Czy istnieje sposób na to, aby MySQL po prostu nie wstawiał wiersza i nie zwracał żadnych wierszy?Jak radzić sobie z błędem klucza obcego MySQL w PHP?
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
wp-db
.borrowed
, CONSTRAINTborrowed_ibfk_1
FOREIGN KEY (employeeid
) REFERENCESemployee
(id
) ON DELETE CASCADE ON UPDATE CASCADE)' in C:\web\apache\htdocs\dev\foreign.php:10Stack trace:
#0 C:\web\apache\htdocs\dev\foreign.php(10): PDOStatement->execute()
#1 {main} thrown in C:\web\apache\htdocs\dev\foreign.php on line 10