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

Jer*_*mey 4 mysql perl dbi truncated

当我在DBVis中运行此更新SQL时,我收到一个错误(数据截断:第1行的列'描述'的数据太长).

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

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

Eug*_*ash 6

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

  • 这确实是正确的答案.在执行任何查询之前(在连接之后才有意义),添加$ dbh-> do("set sql_mode = traditional"); - 如果数据不合适,你会收到一个错误,而不是MySQL默默地将其设置为适合. (2认同)
  • @David:你也可以在`connect()`中设置sql_mode.有关示例,请参见http://search.cpan.org/perldoc?DBI (2认同)