繁体   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