插入由外键链接的表

时间:2018-02-28 13:07:34

标签: sql sql-server

我有两张桌子:

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值?

2 个答案:

答案 0 :(得分: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 :(得分:1)

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