在外键列上添加Default Constraint作为默认值,因此如果用户不提供值,则应插入默认值。但它不是触发约束,而是显示列名或提供的值数与表定义不匹配。
- 表 -
**
- tblGender -
create table tblperson(
Id int not null,
Name nvarchar(50) not null,
Email nvarhcar(50) not null,
GenderId int
);
- 添加外键 -
Create Table tblGender(
ID int Not Null Primary Key,
Gender nvarchar(50)
);
- 默认约束 -
Alter table tblPerson
add constraint tblPerson_GenderId_FK FOREIGN KEY (GenderId) references tblGender(ID)
- 插入声明 -
ALTER TABLE tblPerson
ADD CONSTRAINT DF_tblPerson_GenderId
DEFAULT 1 FOR GenderId
答案 0 :(得分:0)
您的问题的答案是:
insert into tblperson(Id, Name, Email) values(1,'Jake','j@j.com');
大多数人忘了写列名,你应该总是关注列名和提供的数量。
顺便说一句,修正这一行中的拼写错误:
Email nvarhcar(50) not null,
它应该是:
Email nvarchar(50) not null,