簡體   English   中英

帶有默認約束的批量插入

[英]bulk insert with default constraint

我有兩個表 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 中看到的那樣,我試圖在 genderid 列中不添加任何內容,我認為它將被視為默認約束

但它給我錯誤“表值構造函數中每行的列數必須相同。”

這是 T-SQL (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)

請參閱此處的示例。 這是 SQLLite 問題的 T-SQL 答案。

如何在 SQL 表中插入默認值?

我在 T-SQL 文檔中找不到這方面的明確示例。 這有一個非常模糊的描述

https://learn.microsoft.com/en-us/sql/t-sql/statements/insert-transact-sql?view=sql-server-ver16

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM