gpt4 book ai didi

mysql - 如何使两个表条件更新一个表

转载 作者:行者123 更新时间:2023-11-29 06:09:35 25 4
gpt4 key购买 nike

大家好,我不明白。

我有两张 table

帖子:

id|fromid|toid|receiver|sender 
1, null, null, user1, user2

用户:

id|username
1, user1
2, user2

如您所见,fromidtoid 具有 null 值。所以我想用用户 ID 填充它,但我不明白。

之后的条目应该是这样的:

1, 2, 1, user1, user2

我试过从 fromid 开始,但没有成功。

SELECT @curUsername := user.username, @curUserid := user.id FROM user;
UPDATE post SET post.fromid = @curUserid WHERE post.sender = @curUsername;

最佳答案

当您想要编写任何组合多行列的表达式时,您可以使用连接。

UPDATE Posts
JOIN User AS FromUser ON Posts.sender = FromUser.username
JOIN User AS ToUser ON Posts.receiver = ToUser.username
SET Posts.fromid = FromUser.id,
Posts.toid = ToUser.id;

MySQL 支持在 UPDATE 语句中进行连接(尽管这不是标准 SQL 的一部分)。

关于mysql - 如何使两个表条件更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39153015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com