Как скрыть системное сообщение об ошибке при добавлении дубликатов данных в MySQL DB с помощью Perl? - PullRequest
0 голосов
/ 24 октября 2018

Я создал таблицу с 2 составными ключами в MySQL.Я сейчас пытаюсь вставить повторяющиеся значения, и поэтому я получаю сообщение об ошибке, сгенерированное системой.Я хочу скрыть это сообщение об ошибке и отобразить свое собственное сообщение об ошибке - как я могу это сделать?Я пытался использовать "warn", но сгенерированное системой сообщение все еще отображается.

$sts = $dbh->prepare("insert into Enrolled(Student_Id,CourseID,DOJ) values(@StudentID,$CourseID,CURDATE())");
$sts->execute() or warn ("Error");

вывод:

DBD :: mysql :: st выполнить не удалось: повторяющаяся запись '16-11 'для ключа' ПЕРВИЧНЫЙ 'на стаде ent.pm строка 182, строка 10. Ошибка

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете установить атрибут PrintError => 0 при подключении к базе данных.По умолчанию он включен.Также вы можете попробовать установить этот атрибут в $dbh->prepare.Должен работать для этого оператора дескриптор только в соответствии с документацией https://metacpan.org/pod/DBI#PrintError

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...