簡體   English   中英

復雜的更新Sql語句

[英]Complex Update Sql Statement

我有兩個表,一個表有一個id和一個username名,表的名稱是user 我有另一個表,稱為value ,該表具有一個id ,用於存儲user表中的ID。 value還具有一列,稱為valueitem_id ,用於存儲項目。

我想編寫一條更新語句,以更新值id, value, item_id中的以下列id, value, item_id但是我要執行該語句的值是username = $username, value = $value and item_id=$item_id (基於應用程序)

如何編寫存儲id (用戶名ID), valueitem_id的更新語句

使用更新語句的原因是因為該用戶可以隨時更改value列中的value

UPDATE `value` SET `value` = $value WHERE item_id = $item_id 
AND user_id IN (SELECT id FROM `users` WHERE username = $username)

確保清理數據庫輸入。

這只會更新,如果您要創建條目(我假設user_id和item_id是第二張表的組合主鍵),則可以使用replace into語句。

請告訴我您是否需要,因為我認為這不是問題。

它可能沒有那么有效,但是我認為這並不重要,但是您當然可以先通過單獨的查詢獲取用戶ID。

這可能會更好理解。

嘗試這個

UPDATE value, user
SET value = $value
WHERE item_id = $item_id
AND value.user_id = user.user_id
AND user.username = $username;

暫無
暫無

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

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