26

我是 SQL 新手(使用 SQL 2008 R2),我无法将多行插入单个列。

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

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

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

谢谢

4

9 回答 9

39

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

INSERT INTO `table_name`(col1,col2,col3)
   VALUES (1,'val1',0),(1,'val2',0),(1,'val3',0)
于 2012-10-31T14:14:30.460 回答
36

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

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

或者,要插入多条记录,请将插入分开:

INSERT INTO Data ( Col1 ) VALUES
('Hello'),
('World');
于 2012-08-03T19:14:31.637 回答
14

我相信这应该适用于插入多行:

INSERT INTO Data ( Col1 ) VALUES
('Hello'), ('World'),...
于 2012-08-03T19:15:52.260 回答
11

另一种方法是使用联合:

INSERT INTO Data ( Col1 ) 
select 'hello'
union 
select 'world'
于 2012-08-03T19:27:31.890 回答
7

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

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

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

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

INSERT INTO Data (Col1) VALUES ('Hello');
INSERT INTO Data (Col1) VALUES ('World');
于 2012-08-03T19:15:53.323 回答
1
  INSERT INTO Data ( Col1 ) VALUES ('Hello'), ('World')
于 2012-08-03T19:15:34.477 回答
0

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

   INSERT INTO Data ( Col1 ) VALUES ('Hello'),
   INSERT INTO Data ( Col1 ) VALUES ('World')
于 2018-03-19T18:48:44.253 回答
0

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

Create Table Table_Name(
            col1 DataType,
            col2 DataType);

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

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

等等……</p>

希望这可以帮助。

于 2019-11-26T12:09:12.493 回答
-3
INSERT INTO hr.employees (location_id) VALUE (1000) WHERE first_name LIKE '%D%';

让我知道此声明是否有任何问题。

于 2014-10-05T10:18:46.403 回答