我用ssms为一个类项目创建了一个配方数据库。我有一个表,其中包含我插入到查找表中的所有配方名称( RecipeDetails
),但是我忽略了它们关联的id,所以我想编写一些代码来用这些值更新我的表。我觉得这段代码应该可以很好地工作(它在过去似乎可以工作,但我搞砸了一些不相关的东西,不得不恢复我最近的数据库备份),但现在却不行了。它说它影响了我期望它影响的所有行,但是这些行仍然列出了 RecipeID
作为 NULL
.
我正在从 RecipesTable
,其中包括每个配方的名称和每个配方的id。在 RecipeDetails
我有一个专栏 RecipeName
, RecipeID
, Ingredient
, IngredientID
,以及表中每行的id。到目前为止,我的所有食谱都在表中,但没有它们的相关id。我想将id从一个表移到另一个表。
UPDATE rd
SET rd.RecipeID = rt.RecipeID
FROM RecipeDetail AS rd
FULL JOIN RecipesTable AS rt ON rd.RecipeID = rt.RecipeID
WHERE rt.RecipeName = rd.RecipeName;
1条答案
按热度按时间wqsoz72f1#
你应该使用
inner join
而不是外部连接。