Bal*_*i C 18 sql sql-server-2008
我是SQL的新手,(使用SQL 2008 R2),我在将多行插入单个列时遇到问题.
我有一个名为的表Data,这就是我正在尝试的
INSERT INTO Data ( Col1 ) VALUES
('Hello', 'World')
Run Code Online (Sandbox Code Playgroud)
该代码来自这个问题,但它像我在网上找到的许多其他例子一样使用2列,我只想使用1.我做错了什么?
谢谢
小智 38
插入特定列的值与其他列保持相同: -
INSERT INTO `table_name`(col1,col2,col3)
VALUES (1,'val1',0),(1,'val2',0),(1,'val3',0)
Run Code Online (Sandbox Code Playgroud)
JYe*_*ton 25
要仅插入一列,请仅使用一个数据:
INSERT INTO Data ( Col1 ) VALUES
('Hello World');
Run Code Online (Sandbox Code Playgroud)
或者,要插入多个记录,请分隔插入:
INSERT INTO Data ( Col1 ) VALUES
('Hello'),
('World');
Run Code Online (Sandbox Code Playgroud)
Hol*_*ndt 11
我相信这应该适用于插入多行:
INSERT INTO Data ( Col1 ) VALUES
('Hello'), ('World'),...
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用union:
INSERT INTO Data ( Col1 )
select 'hello'
union
select 'world'
Run Code Online (Sandbox Code Playgroud)
如果您的DBMS支持表示法,则每行需要一组单独的括号:
INSERT INTO Data(Col1) VALUES ('Hello'), ('World');
Run Code Online (Sandbox Code Playgroud)
交叉引用的问题显示了插入两列的示例.
或者,每个SQL DBMS都支持使用单独语句的表示法,每个语句要插入一行:
INSERT INTO Data (Col1) VALUES ('Hello');
INSERT INTO Data (Col1) VALUES ('World');
Run Code Online (Sandbox Code Playgroud)