4

当我在 DBVis 中运行此更新 SQL 时,我收到一个错误 ( Data truncation: Data too long for column 'Description' at row 1)。

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

谁能告诉我如何显示这个错误?

4

3 回答 3

7

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

于 2010-12-13T20:25:40.167 回答
2

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

请参阅文档并搜索“err”以详细讨论您可用的所有选项。

于 2010-12-13T20:25:23.300 回答
1

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

所以,

show warnings;

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

于 2010-12-13T20:24:44.730 回答