首页 文章

如何将一个表的自动生成的ID插入另一个表的ID中

提问于
浏览
0

我正在尝试制作一个在线购物网站的项目 . 我有三个表,即Category Table,Sub-Category Table和Products表 . 在类别表中,我有 CategoryIDCategoryName 作为两个fileds.In子类别表我有 CategoryIDSub-CategoryIDSubCategoryName 作为字段,在产品表中我有 CategoryIDSubCategoryIDProductIDProductName .

现在在类别表中,categoryID被自动生成并设置为主键 . 在子类别表中,不会自动生成任何键,并且categoryID和subCategory ID都设置为组合主键 . 现在,当我将categoryName插入类别表时,我希望将CategoryID(自动生成)插入到SubCategory表的categoryID列和ProductTable的CategoryID列中 . 网上有很多关于此事的内容,但没有一个能解决我的问题 .

3 回答

  • 0
    INSERT INTO Category (....) VALUES(....)
    
    DECLARE @id int;
    SELECT @id=SCOPE_IDENTITY();
    
    INSERT INTO Subcategory(CatagoryID,....) VALUES(@id,....)
    INSERT INTO Product (CategoryID,....) Values(@id,...)
    
  • 0

    我认为你为此骗了用户SCOPE_IDENTITY

    SCOPE_IDENTITY返回为任何表生成的最后一个标识值 .

  • 0

    我觉得你的设计中有难闻的气味 .

    您不需要在子表中具有复合主键,因为您已经在表中定义了唯一标识符 . 相反,只需使用一列作为主键,并将外键关系添加到子表中 .

相关问题