首页 > 解决方案 > 如何在使用 Perl 将重复数据添加到 MySQL DB 时隐藏系统生成的错误消息?

问题描述

我在 MySQL 中创建了一个包含 2 个复合键的表。我现在正在尝试插入重复值,因此我收到了系统生成的错误消息。我想隐藏该错误消息并显示我自己的错误消息 - 我该怎么做?我尝试使用“警告”,但系统生成的消息仍在显示。

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

输出:

DBD::mysql::st 执行失败:Stud ent.pm 第 182 行第 10 行的键 'PRIMARY' 的重复条目 '16-11'

标签: mysqlperloracle11g

解决方案


您可以PrintError => 0在连接到数据库时设置属性。默认情况下它是打开的。您也可以尝试在$dbh->prepare. 应该仅根据文档https://metacpan.org/pod/DBI#PrintError用于该语句句柄


推荐阅读