首页 > 解决方案 > 批量插入但主键为空

问题描述

所以我知道 PK 不能为空,但我的任务是从 .txt 文件中批量插入数据,但文件中的 PK 为 NULL。我很困惑,我实际上不知道如何解决这个问题。

表创建:

CREATE TABLE BILLING (
FolioBillingID      smallint        NOT NULL        PRIMARY KEY,
FolioID             smallint        NOT NULL    FOREIGN KEY REFERENCES 
FOLIO(FolioID),
BillingCategoryID   smallint        NOT NULL    FOREIGN KEY REFERENCES 
BILLINGCATEGORY(BillingCategoryID),
BillingDescription  char(30)        NOT NULL,
BillingAmount       smallmoney      NOT NULL,
BillingItemQty      tinyint         NOT NULL,
BillingItemDate     date            NOT NULL)

这是我需要插入的 .txt 文件中的一个示例:

|1|1|Room|99|1|5/2/2018
|1|2|Lodging Tax|11.14|1|5/2/2018
|1|1|Room|99|1|5/3/2018

这就是我尝试批量插入的方式:

BULK INSERT BILLING FROM 'c:\stage\farms1-1\Billing.txt' 
WITH (FIELDTERMINATOR='|', FIRSTROW=1)

有没有解决的办法?如果是这样,我将如何去做?任何帮助将不胜感激!:)

标签: sqlbulkinsert

解决方案


进行FolioBillingID自动增量


推荐阅读