0

我有两张桌子,一张桌子有一张id,一张桌子username的名字是user。我有另一个表value,该表有一个id用于存储表中的 id user。该表value还有一个名为的列valueitem_id用于存储项目。

我想编写一个更新语句来更新 value 中的以下列,id, value, item_id但是我必须执行该语句的值是username = $username, value = $value and item_id=$item_id(基于应用程序)

如何编写存储id(用户名 id)的更新语句,value以及item_id

使用更新语句的原因是因为该用户可以随时更改value列中的值

4

2 回答 2

0

尝试这个

UPDATE value, user
SET value = $value
WHERE item_id = $item_id
AND value.user_id = user.user_id
AND user.username = $username;
于 2013-06-14T04:01:00.540 回答
0
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。

这可能会更好理解。

于 2013-06-13T18:32:26.427 回答