簡體   English   中英

結合兩個不同的選擇和更新語句

[英]Combine two different select and update statements

我有一個選擇查詢和一個更新查詢,我想將兩者結合起來。

選擇查詢類似於:

select questionDesc from myTable
where 
  questionId >= (
    select currentQuestionid from userTable 
    where userId='1'
  )
  and questionId <= (
    select currentQuestionid+4 from userTable 
    where userId='1'
  )

對於user=1 ,這個查詢試圖獲取從所有問題描述myTablequestionId介於currentQuestionidcurrentQuestionid+4currentQuestionid是在特定於用戶的列userTable )。 稍后,我將在前端使用此結果。

現在,我想將currentQuesionid更新為currentQuestionid+5 可以使用以下方法實現:

UPDATE userTable SET currentQuesionid = currentQuestionid+5 WHERE userId ='1'

我想在一個數據庫命中中同時實現這兩個查詢,以提高性能。

有什么辦法可以將兩者結合起來。 我正在使用WAMP,代碼是用php腳本編寫的。

任何幫助表示贊賞。

我想我找到了答案。

為了將多個查詢組合在一起,我們可以使用mysqli_multi_query()函數。 它適用於MySQL服務器版本4.1.3和更高版本。 它以多個查詢作為輸入參數,並在一個數據庫命中中執行它們。

例如:

 //sql queries should be separated by semi-colons $sql = "SELECT Lastname FROM Persons ORDER BY LastName;"; $sql .= "SELECT Country FROM Customers"; // Execute multi query if (mysqli_multi_query($con,$sql)) { do { // Store first result set if ($result=mysqli_store_result($con)) { // Fetch row one and one while ($row=mysqli_fetch_row($result)) { printf("%s\\n",$row[0]); } // Free result set mysqli_free_result($result); } } while (mysqli_next_result($con)); } 

資料來源: http : //www.w3schools.com/php/func_mysqli_multi_query.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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