插入由外键链接的表

问题描述 投票:2回答:2

我有两张桌子:

TravelRequest

TravelReqID(PK)
PlanningTypeCode(FK)
Days
Hours
Mail

PlanningType

PlanningTypeCode(PK)
PlanningType

我想在TravelRequest中插入一些记录,但我还需要显示PlanningType.PlanningType

我试过这个查询

INSERT INTO [Travel].[TravelRequest]([PlanningType].PlanningType,Days,Hours,Mail)
VALUES('Start Training',10,1,1)

但是SQL Server向我显示了这个错误:

列名称“PlanningType”无效。

如何插入PlanningType值?

sql sql-server
2个回答
2
投票

你的INSERT声明不正确。

插入语法如下。

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

所有列应该来自您尝试插入数据的表。

你应该写下你的查询,如下所示。 [假设TravelReqIDIdentity列)

INSERT INTO TravelRequest(PlanningTypeCode,Days,Hours,Mail)
SELECT PT.PlanningTypeCode,10,1,1
FROM [PlanningType] PT
WHERE PT.PlanningType='Start Training'

1
投票

您正在尝试写入两个表而不在查询中创建两个表之间的链接。您需要先创建一个连接,然后才能编写类似的查询。

© www.soinside.com 2019 - 2024. All rights reserved.