[英]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
,這個查詢試圖獲取從所有問題描述myTable
其questionId
介於currentQuestionid
和currentQuestionid+4
( currentQuestionid
是在特定於用戶的列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.