多个INSERT查询转换为一个查询
这个问题在这里已经有了答案:
如果您使用的是Sql Server,请尝试以下操作
Insert into table (columns..)
Values(values1,value2,...),
(values1,value2,...),
(values1,value2,...),
(values1,value2,...)
最接近的是仅需要一次字段列表的简写版本:
INSERT INTO `creature` ( <field list> ) VALUES
( <value list> ),
( <value list> ),
( <value list> )
在Mysql中,做到这一点(大多数流行的数据库都有类似的语法):
INSERT INTO mytable (col1, col2, col3, ...) VALUES
(1, 2843, 0, ...),
(2, 7853, 0, ...);
在大多数数据库中,您可以这样做:
INSERT INTO mytable (col1, col2, col3, ...)
SELECT 1, 2843, 0, ...
UNION ALL
SELECT 2, 7853, 0, ...;
在落后的后台数据库(如Oracle)中,必须使用仿真单行表DUAL对第二个选项进行编码:
INSERT INTO mytable (col1, col2, col3, ...)
SELECT 1, 2843, 0, ...
FRIM DUAL
UNION ALL
SELECT 2, 7853, 0, ...
FROM DUAL;
链接地址: http://www.djcxy.com/p/94491.html