簡體   English   中英

從表中刪除X行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM