1

Mysql2 在尝试获取无效日期(例如 2012-00-25)时遇到问题。
例如:

需要'mysql2'

db = Mysql2::Client.new(....)

结果 = db.query(查询)

results.each 做 |row|

..

..

结尾

如果第一条记录的日期无效,mysql2 将抛出错误并在该点停止。

我怎样才能正确处理它(捕捉错误并恢复错误的数据)?

我无法控制源数据。

提前致谢,

我的解决方案

我解决了添加 :cast => false 并解析日期列的问题

db.query(查询,:cast => false)

results.each 做 |row|

..

开始

Date.parse(time)

救援

# if date is wrong then set the date field

time = "1900-01-01 00:00:00"

结尾

..

结尾

4

0 回答 0