将多行插入单列

时间:2012-08-03 19:12:49

标签: sql sql-server-2008

我是SQL新手,(使用SQL 2008 R2),我在将多行插入单个列时遇到问题。

我有一个名为Data的表,这就是我正在尝试的

INSERT INTO Data ( Col1 ) VALUES
('Hello', 'World')

该代码取自this问题,但它与我在网上找到的许多其他示例一样使用了2列,我只想使用1.我做错了什么?

由于

9 个答案:

答案 0 :(得分:35)

插入特定列的值,其他列保持不变: -

INSERT INTO `table_name`(col1,col2,col3)
   VALUES (1,'val1',0),(1,'val2',0),(1,'val3',0)

答案 1 :(得分:24)

要仅插入一列,请仅使用一段数据:

INSERT INTO Data ( Col1 ) VALUES
('Hello World');

或者,要插入多个记录,请分隔插入内容:

INSERT INTO Data ( Col1 ) VALUES
('Hello'),
('World');

答案 2 :(得分:10)

我认为这应该适用于插入多行:

INSERT INTO Data ( Col1 ) VALUES
('Hello'), ('World'),...

答案 3 :(得分:8)

另一种方法是使用union:

INSERT INTO Data ( Col1 ) 
select 'hello'
union 
select 'world'

答案 4 :(得分:5)

如果您的DBMS支持该表示法,则每行需要一组单独的括号:

INSERT INTO Data(Col1) VALUES ('Hello'), ('World');

交叉引用的问题显示了插入两列的示例。

或者,每个SQL DBMS都支持使用单独语句的表示法,每个语句要插入一行:

INSERT INTO Data (Col1) VALUES ('Hello');
INSERT INTO Data (Col1) VALUES ('World');

答案 5 :(得分:1)

  INSERT INTO Data ( Col1 ) VALUES ('Hello'), ('World')

答案 6 :(得分:0)

在该代码中,您插入两个列值。  你可以试试这个

   INSERT INTO Data ( Col1 ) VALUES ('Hello'),
   INSERT INTO Data ( Col1 ) VALUES ('World')

答案 7 :(得分:0)

请确保其他列不受约束以接受Not null值,因此在表中创建列时只需忽略“ Not Null”语法。例如

Create Table Table_Name(
            col1 DataType,
            col2 DataType);

然后,您可以在想要的任何列中插入多个行值。 例如:

Insert Into TableName(columnname)
values
      (x),
      (y),
      (z);

以此类推...

希望这会有所帮助。

答案 8 :(得分:-3)

INSERT INTO hr.employees (location_id) VALUE (1000) WHERE first_name LIKE '%D%';

请告诉我此声明中是否有任何问题。