タグ

ブックマーク / d.hatena.ne.jp/tokiharu (1)

  • Perl DBI: MySQL から SQLite への移行 - DeNA 技師のメモ

    地味なんだけど、同じ Perl DBI なのに MySQLSQLite で挙動が違っていてハマった点:MySQL で SELECT した後、SELECT の取得結果があるかどうかをステートメントハンドルオブジェクトの rows メソッドを使い「if ($sth->rows)」などでチェックしていたが、SQLite だとこれが効かず、SELECT できた場合でも 0 が返る。『入門 Perl DBI』によるとSELECT 文に対しては、すべてをフェッチすることを除いて、返される行数を知ることはできない。(中略) したがって、SELECT 文に rows メソッドや DBI::rows を利用することは勧められない。とのこと。MySQL の時はたまたま使えているということか。SQLite の場合、$dbh->commit や $dbh->disconnect する前に、SELECT に使

  • 1