SQL INSERT 从 SELECT

2021-12-25 00:00:00 mysql c#-4.0

让我们在我的代码中说我有用户名和一个值.现在我需要将它保存在数据库中,但我需要首先获取与该用户名对应的 ID,因为该表通过 pk/fk 链接到用户表.我该怎么做?我知道您可以执行 INSERT (blah) SELECT 等操作,但这看起来像一个直接副本,我需要插入带有 fk 列的值作为 SELECT 的结果.

Lets say in my code I have the users name, and a value. Now I need to save that in the db but I need to first get the ID corresponding to that users name because this table links with a pk/fk to the users table. How do I do it? I know you can do a INSERT (blah) SELECT etc to do it but that looks like a straight copy, i need to insert the value with the fk column as the result from a SELECT.

用户表:[用户ID(pk), 用户名]

User Table: [UserID(pk), UserName]

头像表:[用户ID(fk), AvatarURL]

Avatar Table: [UserID(fk), AvatarURL]

我需要INSERT INTO AvatarTable(UserID, AvatarURL)VALUES (*id of user where UserName = 'theirname'*, 'http://www.blah.com')

谢谢

推荐答案

您可能正在寻找这个?:

You might be looking for this?:

insert into myDestTable (userid, name, value, othercolumns)
select us.userid, us.name,'myvaluefromcode', othercolumns
from users us 
where us.name = 'mynamefromcode'

相关文章