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