2016-08-02 50 views
2

是否可以將SELECT特定行和DELETE所選結果在ONE請求?MySQL在一個請求中刪除所有選定的行

$res = $Connection->query("SELECT * FROM tasks"); 
if($res->num_rows > 0){ 
    while($row = $res->fetch_assoc()){ ... 

問題是,我對SQL數據庫的查詢數量有限,我想盡量減少它的數量。

+1

嗯,你不能選擇的東西不存在(因爲你剛刪除它們) – 2016-08-02 23:06:11

+0

我想做的事這一次。首先選擇然後刪除,如果你喜歡。 – Zero

+0

好吧那麼做那麼 – 2016-08-02 23:07:29

回答

1

你不能在PHP中使用普通的mysql-api。只需執行兩個查詢。第二個將會如此之快,以至於無所謂。這是微型優化的一個典型例子。不要擔心。 (所以時間並不重要)

有關記錄,因爲您擔心查詢的次數,可以使用mysqli和mysqli_multi_query-function來完成。

P.S. - 我還沒有試過這種,但由於這mysql_multi_query有沒有在文檔中,它可能會幫助... :)

1

SELECT和DELETE都單獨需要一個請求。並且沒有SQL可以在官方文檔中完成這項工作。