当我在DBVis中运行此更新SQL时,出现错误(数据截断:第1行的“描述”列的数据太长)。
然而,在Perl(DBI)中,这并没有给我一个我猜的错误,因为记录实际上是用截断值更新的。
有谁能告诉我如何显示此错误?
答案 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