mysql - 如何在使用 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'
解决方案
您可以PrintError => 0
在连接到数据库时设置属性。默认情况下它是打开的。您也可以尝试在$dbh->prepare
. 应该仅根据文档https://metacpan.org/pod/DBI#PrintError用于该语句句柄
推荐阅读
- php - 如何在 mysql PDO 中加入 4 个表?
- java - 如何将@RequestBody 对象(值对象)注入 Spring Service 层?
- hibernate - 找不到引用的 bean 'entityManagerFactory'
- mysql - 如何计算 Mysql 中数据的来源
- mysql - MySQL - 内部联接不适用于更新语句
- django - 模型实例存在模板错误
- ruby-on-rails - 如何在适用于 Linux 的 Windows 子系统上修复“ECONNRESET:套接字挂起”?
- python - 关于kivy中事件调度行为的问题
- express - Express js Route.get() 需要一个回调函数,但得到一个 [object Undefined]
- javascript - 如何“逆向工程”一个简单的反应组件到纯 jquery