update语句不会更新任何内容

edqdpe6u  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(346)

我用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;
wqsoz72f

wqsoz72f1#

你应该使用 inner join 而不是外部连接。

UPDATE rd
    SET rd.RecipeID = rt.RecipeID
    FROM RecipeDetail rd JOIN
         RecipesTable rt
         ON rd.RecipeName = rt.RecipeName;

相关问题