[英]Complex Update Sql Statement
我有两个表,一个表有一个id
和一个username
名,表的名称是user
。 我有另一个表,称为value
,该表具有一个id
,用于存储user
表中的ID。 表value
还具有一列,称为value
和item_id
,用于存储项目。
我想编写一条更新语句,以更新值id, value, item_id
中的以下列id, value, item_id
但是我要执行该语句的值是username = $username, value = $value and item_id=$item_id
(基于应用程序)
如何编写存储id
(用户名ID), value
和item_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.