簡體   English   中英

SQL:在另一個查詢中使用一個查詢的結果

[英]SQL: Use results of one query in another query

我有一條選擇語句和一條更新語句。 我想在update語句中執行的操作是將'recipes_saved'的值設置為select語句的結果。 我試圖用這個:

$query = "UPDATE `users` SET `recipes_saved` = ('SELECT `recipe_1_name` FROM `carbohydrates`') WHERE `user_id` = '" . $_SESSION['user_id'] . "'";

$data= mysqli_query($dbc,$query) or die('Query failed: ' . mysqli_error());

但查詢失敗。

任何幫助將非常感激。

我認為您在“選擇”和“ FROM carbohydrates ”中還有一個額外的' ”,然后再次使用LIMIT,例如:

嘗試復制以下查詢:

 $query = "UPDATE `users` SET `recipes_saved` = (SELECT `recipe_1_name` FROM `carbohydrates` LIMIT 1) WHERE `user_id` = '" . $_SESSION['user_id'] . "'";

當然,如果您想減少混亂,則可以刪除它,例如:

 $query = "UPDATE users SET recipes_saved = (SELECT recipe_1_name FROM carbohydrates LIMIT 1) WHERE user_id = '" . $_SESSION['user_id'] . "'";

據我所知,查詢中不需要太多的引號。 嘗試:

$query = "UPDATE users SET recipes_saved = (SELECT recipe_1_name FROM carbohydrates) WHERE user_id='" . $_SESSION['user_id'] . "'";

直接登錄到數據庫(命令行或GUI客戶端)並嘗試運行查詢也很有用:

UPDATE users SET recipes_saved = (SELECT recipe_1_name FROM carbohydrates) WHERE user_id='username'

看看是否可行。

暫無
暫無

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

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