[英]Remove all records from a certain id onwards in rails?
不小心忘了轉計划任務,在表格里加了不該有的行。
我知道我希望從中刪除行的 ID。 但是你是怎么做到的呢?
我試過了
Datum.where("id > 650").delete
ArgumentError (wrong number of arguments (given 0, expected 1))
還
Datum.where("id > 650").destroy
Traceback (most recent call last):
1: from (irb):5
ArgumentError (wrong number of arguments (given 0, expected 1))
首先 delete_all 與 destroy_all 的簡短比較:
如果你有一個 RecordSet,你總是必須執行 delete/destroy_all,因為 delete/destroy 方法只針對單個 ActiveRecord。
資料來源:
似乎與destroy_all
Datum.where("id > 650").destroy_all
Datum Load (0.4ms) SELECT "data".* FROM "data" WHERE (id > 650)
(0.1ms) BEGIN
Datum Destroy (10.2ms) DELETE FROM "data" WHERE "data"."id" = $1 [["id", 651]]
(0.5ms) COMMIT
(0.1ms) BEGIN
Datum Destroy (0.3ms) DELETE FROM "data" WHERE "data"."id" = $1 [["id", 652]]
(0.3ms) COMMIT
(0.1ms) BEGIN
Datum Destroy (0.3ms) DELETE FROM "data" WHERE "data"."id" = $1 [["id", 653]]
(0.2ms) COMMIT
我懷疑destroy
不起作用,因為當有人打算刪除一條記錄但不小心提供了多條記錄時,它可以防止發生災難的可能性很小
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.