我有两个表,一个表有一个id
,一个username
表的名称是user
。我有另一个名为value
的表,该表有一个id
,用于存储user
表中的id。表格value
还有一个名为value
和item_id
的列,用于存储该项目。
我想编写一个更新语句来更新值id, value, item_id
中的以下列,但是我必须执行该语句的值是username = $username, value = $value and item_id=$item_id
(基于应用程序)
如何编写存储id
(用户名ID),value
和item_id
使用更新语句的原因是因为该用户可以随时更改value
列中的值
答案 0 :(得分: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。
这可能会更容易理解。
答案 1 :(得分:0)
试试这个
UPDATE value, user
SET value = $value
WHERE item_id = $item_id
AND value.user_id = user.user_id
AND user.username = $username;