CREATE TABLE Type1
(
TypeID TINYINT NOT NULL IDENTITY(1,1),
TypeName VARCHAR(20) NOT NULL,
Speed VARCHAR(10) NOT NULL
CONSTRAINT TypeID_pk PRIMARY KEY (TypeID)
);
CREATE TABLE Splan
(
PlanID TINYINT NOT NULL IDENTITY(1,1),
TypeID TINYINT NOT NULL,
PlanName VARCHAR(20) NOT NULL,
Quota SMALLINT NOT NULL
CONSTRAINT PlanID_pk PRIMARY KEY (PlanID)
CONSTRAINT TypeID_fk FOREIGN KEY (TypeID) REFERENCES Type1(TypeID)
);
INSERT INTO Type1(TypeName, Speed)
VALUES ('Sample type', '10Mbps'),
('Other type', '50Mbps');
^直到那里都很好
然后当我输入以下内容时,它返回“消息 515,级别 16,状态 2,第 8 行无法将值 NULL 插入列‘TypeID’.....列不允许。插入失败。” 语句终止
INSERT INTO Splan(PlanName, Quota)
VALUES ('Some sample name', '500GB'),
('sample2, '250GB');
我已经尝试在列和表级别创建约束,但第二个 INSERT 语句仍然拒绝输入。通过 GUI 进行双重检查,“TypeID”肯定具有 IDENTITY 属性。
我到处寻找,这个错误似乎源于缺少 IDENTITY 属性,但它存在于我的创建语句中并且错误仍然出现。尝试从 IDENTITY 中删除种子和增量,仍然没有。还尝试一次插入一行数据,也没有。
PS 如果您没有注意到实际名称已被替换并且其他列行已被省略。