[英]Delete X rows from table
我想從具有相等列值的表中刪除X行。 為了更好地解決這個問題,我是以sql查詢的方式編寫這個問題,請理解:
DELETE id FROM table_name WHERE column_value = 1 AND user_id = 2;
此查詢應刪除3行。 我怎樣才能做到這一點?
可以使用LIMIT
關鍵字(根據MySQL文檔: http : //dev.mysql.com/doc/refman/5.0/en/delete.html ):
DELETE FROM table_name WHERE column_value = 1 AND user_id = 2 LIMIT X;
用數字替換X
的地方。
編輯:(關於評論)
我從規范中復制了這個,看起來它解決了你想要解決的問題:
DELETE的特定於MySQL的LIMIT row_count選項告訴服務器在將控制權返回給客戶端之前要刪除的最大行數。 這可用於確保給定的DELETE語句不會占用太多時間。 您可以簡單地重復DELETE語句,直到受影響的行數小於LIMIT值。
LIMIT
是MySQL特定的指令,您不能將其用作通用SQL查詢,其他數據庫(如PostgreSQL)可能無法執行此類查詢。
另一句話:你在查詢中指定了id
。 如果刪除行,則不應指定列。
我使用SQL Fiddle測試了它並成功了: http ://sqlfiddle.com/#!2 / 13ccb7 / 1/1和http://sqlfiddle.com/#!2/258203/1/0 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.