2016-07-13 6 views
0

私はSequelとSinatraをSequelで使用します。 Sequelはレコードを適切に挿入しますが、削除には苦労しています。私が使用する場合:続行制限を無視する

Product.where(:name=>"Book").limit(10).delete 

条件を満たしているレコードはすべて削除されます。限界を完全に無視しているようだ。あなたはその理由を知ることができますか?

答えて

0

DELETE LIMITをサポートするデータベースはほとんどありません(私はMySQLが唯一だと思います)。

Sequelのデフォルトの動作は、DELETEの間に制限設定を無視することです。 MySQLでは、データベース固有の拡張機能と見なします。

+0

ありがとう、私はそれがSequelのドキュメントで示されたように動作するはずです。制限なく同じ結果を得る方法はありますか? – Jes

+0

Sequelの文書では、limit.deleteが動作するはずです。同じ結果では、副選択を使用すると、Product.where(:id => Product.where(:name => 'Book')。limit(10).select(:id))。delete' –

関連する問題