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"
结尾
..
结尾