【问题标题】:Msg 4104, Level 16, State 1, Line 30 The multi-part identifier "Describe.Product_ID" could not be bound消息 4104,级别 16,状态 1,行 30 无法绑定多部分标识符“Describe.Product_ID”
【发布时间】:2018-10-22 11:56:32
【问题描述】:

运行这条 SQL 语句:

INSERT INTO Describe (Product_ID, Spec_Category, Spec_Type, Spec_Desc)
    SELECT DISTINCT 
        Products.Product_ID,
        Spec_Category,
        Spec_Type,
        Spec_Desc
    FROM 
        UnknownTable1
    INNER JOIN 
        Products ON Products.Product_ID = Describe.Product_ID

我得到这个错误:

消息 4104,第 16 级,状态 1,第 30 行
无法绑定多部分标识符“Describe.Product_ID”。

由于外键,这有问题...谁能解释一下?

【问题讨论】:

  • 来吧。 UnknownTable1Describe - 应该如何工作?
  • 你的问题毫无意义。首先,错误非常明显。其次,你为什么使用select中插入的表。样本数据和期望的结果会有所帮助。
  • Product_id 应该是 product_url 但它给我的 pk 违规错误...无法插入重复项

标签: sql sql-server


【解决方案1】:

您的选择查询中没有包含“Describe”表。您的查询应该是这样的:

INSERT INTO Describe (Product_ID, Spec_Category, Spec_Type, Spec_Desc)
SELECT DISTINCT 
        Products.Product_ID
        ,Spec_Category
        ,Spec_Type
        ,Spec_Desc
FROM UnknownTable1
    INNER JOIN 
        Products
    ON
    Products.Product_ID = UnknownTable1.Product_ID

如果您想添加此Products.Product_ID = Describe.Product_ID 条件,则需要在您的选择查询中包含Describe

【讨论】:

  • Msg 207, Level 16, State 1, Line 73 列名'Product_ID'无效
  • UnknownTable1 是否包含“Product_Id”列?你的表 UnknownTable1 和 Products 的结构是什么。
  • UnknownTable1 不限制 product_id。我自己添加它以通过将 Product_ID 添加为 PK 来区分产品。 Unknowntable1 只有名称、网址、价格。然后我在描述中使用 product_id 作为 FK 和 PK。我不允许修改 unknowntable1。
  • @Judge15 如果 UnknownTable1 没有 product_id,那么如果两个表都有不同的列,你如何加入两个表 UnknownTable1 和 Products。请编辑您的问题以及两个表的一些示例输出数据和表结构
  • 我修改了我的模型。现在它包含来自 unknowntable1 的 product_url 作为 PK。我将如何插入数据...这些列与我之前发布的相同,唯一的区别是 product_id 现在是 product_url ....有 549 个唯一 url,但在 spec_category 下列出的规格方式就像处理器、连接性..等等。每个规范都有自己的具有相同 url 的单元格,...当我执行您发布的语句时,我收到错误“违反主键约束 'PK_Describe_Product_URL'。无法在对象 'dbo.Describe' 中插入重复键。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 2018-06-07
  • 2016-08-12
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多