0
私はSequelとSinatraをSequelで使用します。 Sequelはレコードを適切に挿入しますが、削除には苦労しています。私が使用する場合:続行制限を無視する
Product.where(:name=>"Book").limit(10).delete
条件を満たしているレコードはすべて削除されます。限界を完全に無視しているようだ。あなたはその理由を知ることができますか?
私はSequelとSinatraをSequelで使用します。 Sequelはレコードを適切に挿入しますが、削除には苦労しています。私が使用する場合:続行制限を無視する
Product.where(:name=>"Book").limit(10).delete
条件を満たしているレコードはすべて削除されます。限界を完全に無視しているようだ。あなたはその理由を知ることができますか?
DELETE LIMIT
をサポートするデータベースはほとんどありません(私はMySQLが唯一だと思います)。
Sequelのデフォルトの動作は、DELETE
の間に制限設定を無視することです。 MySQLでは、データベース固有の拡張機能と見なします。
ありがとう、私はそれがSequelのドキュメントで示されたように動作するはずです。制限なく同じ結果を得る方法はありますか? – Jes
Sequelの文書では、limit.deleteが動作するはずです。同じ結果では、副選択を使用すると、Product.where(:id => Product.where(:name => 'Book')。limit(10).select(:id))。delete' –