插入到表中而不必为每行指定每个列值

时间:2017-02-27 18:32:10

标签: sql sql-server sql-server-2008

如何插入表格,其中每行提供的列值数量不同。如果列没有值。

CREATE TABLE myTable (column1 VARCHAR(5), column2 VARCHAR(5), column3 VARCHAR(5),
column4 VARCHAR(5), column5 VARCHAR(5), column6 VARCHAR(5))
INSERT INTO myTable ('A','B','C','D'),('A','B','C'),('A','B'),('A'),
('B','C','D'),('C','D','A')

我完全知道通过对空列使用NULL来插入每一行。

CREATE TABLE myTable (column1, column2, column3, column4, column5, column6)
INSERT INTO myTable ('A','B','C','D',NULL,NULL),('A','B','C',NULL,NULL,NULL),
('A','B',NULL,NULL,NULL,NULL),('A',NULL,NULL,NULL,NULL,NULL),
('B','C','D',NULL,NULL,NULL),('C','D','A',NULL,NULL,NULL)

如果没有提供列值,是否有办法插入每一行而不必将列指定为NULL?

1 个答案:

答案 0 :(得分:1)

您可以单独插入:

insert into mytable (col1, col2, col3, col4) values ('A', 'B', 'C', 'D');
insert into mytable (col1, col2, col3) values ('A', 'B', 'C'), ('D', 'E', 'F');
insert into mytable (col3, col4) values ('C', 'D');