SQL:在一个语句中插入多组值?

时间:2009-05-30 08:32:01

标签: sql mysql sqlite

是否可以在一个语句中向SQLite表插入多组值?

我在尝试:

INSERT INTO the_table VALUES (1,2,'hi'),(2,0,'foo');

使用不同的()代表不同的插入集,但是我收到错误。

3 个答案:

答案 0 :(得分:6)

表中只有三列吗?如果没有,您可以尝试定义您设置的列名称:

INSERT INTO the_table 
       (column1  ,column2  ,column3) 
VALUES (1        ,2        ,'hi'   )
      ,(2        ,0        ,'foo'  )

此约定是在SQL Server 2008中引入的,称为Table Value Constructor。有关整体语法的信息,请参阅MSDN的INSERT page。此外,INSERT语句可以轻松格式化,以提高可读性。

答案 1 :(得分:1)

你可以做到

INSERT INTO the_table 
SELECT 1,2,'hi'
UNION
SELECT 2,0,'foo';

答案 2 :(得分:0)

我在MSDN中发现了语法,但在尝试之后我也做不到,比我注意到在页面底部写的是页面中有错误:)其中是链接{{3} }见底部如何插入多行