@CenterJoin

Ошибка с foreign key?

У меня ошибка
insert or update on table \"email\" violates foreign key constraint \"email_contact_id_fkey\"\nDETAIL:  Key (contact_id)=(166) is not present in table \"contact\"

В таблице contact нет контакта с ид 166.
Возможно ли вместо этой ошибки выбросить исключение на PHP?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Ну ловите его и обрабатывайте как угодно. Через try...catch.
Ответ написан
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
В развитие ответа Lander
<?php
function saveEmail($contactId, $email){
	global $pdo;
	try {
		$stmt = $pdo->prepare("
			INSERT INTO emails(contact_id, email) 
			VALUES (:contact_id, :email)");
		$stmt-> bindValue(':contact_id', $contactId);
		$stmt-> bindValue(':email', $email);
		return $stmt-> execute();
	} catch (PDOException $Exception ) {
		print_r($Exception);
		return false;
	}
}

saveEmail(166, 'no@mail.com');


Test PHP & SQL code online
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы