如何在Update usint Perl DBI期间查看MYSQL是否截断了一个字段

时间:2010-12-13 20:18:40

标签: mysql perl dbi truncated

当我在DBVis中运行此更新SQL时,出现错误(数据截断:第1行的“描述”列的数据太长)。

然而,在Perl(DBI)中,这并没有给我一个我猜的错误,因为记录实际上是用截断值更新的。

有谁能告诉我如何显示此错误?

3 个答案:

答案 0 :(得分:6)

由于数据截断会产生警告,您可以使用SHOW WARNINGS查看它们。 您可以通过将服务器的SQL Mode设置为禁止截断(例如TRADITIONAL)的警告来向致命错误发出警告。

答案 1 :(得分:2)

当你说“这不是给我一个错误”时,你是如何检查它的?通常,您可以通过检查$DBI::err$dbh->errstr的值来检查DBI操作的状态。此外,如果使用选项RaiseError => 1设置连接,则可以强制错误显示为例外。

请参阅documentation并搜索“错误”,详细讨论您可以使用的所有选项。

答案 2 :(得分:1)

被解释为警告而不是错误,

所以,

show warnings;

详细信息:http://dev.mysql.com/doc/refman/5.0/en/faqs-cjk.html#qandaitem-B-11-1-9