我有两个表tblPerson和tblGender
tblPerson中的字段'GenderID'是tblGender中字段'ID'(主)的外键
这里有一个默认的包含
Alter Table tblPerson
Add constraint DF_tblPerson_GenderID
Default 4 for GENDERID
现在插入查询是
insert into tblPerson (ID,[Name],EmailID,GenderID)values
(4,'Riya','riya@.com',2),
(5,'Raj','raj@.com',3),
(6,'Tisha','tisha@.com',2),
(7,'Stephen','stephen@.com'); // here im getting the error
现在你可以看到,在第7页中,我试图在性别栏中不添加任何内容,我认为它将被视为默认约束
但是它给了我错误'表值构造函数中每行的列数必须相同'
这是一个SQL Server特有的答案。您应该用实际的RDBMS标记您的问题。你的代码看起来像带有[
和]
的T-SQL,但谁知道....
由于无法更改列列表,因此需要使用default
关键字来触发默认值
INSERT INTO tblPerson (ID, [Name], EmailID, GenderID) VALUES
(4, 'Riya', 'riya@.com', 2),
(5, 'Raj', 'raj@.com', 3),
(6, 'Tisha', 'tisha@.com', 2),
(7, 'Stephen', 'Stephen@.com',default)
请看这里的例子。这是一个sql问题的T-SQL答案。
如何在SQL表中插入默认值?
我在T-SQL文档中找不到一个明确的例子。这个描述很模糊
https://learn.microsoft.com/en-us/sql/t-sql/statements/insert-transact-sql?view=sql-server-ver16