多个INSERT查询转换为一个查询

这个问题在这里已经有了答案:

  • 在单个SQL查询中插入多行? [复制] 4个答案

  • 如果您使用的是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

    上一篇: Multiple INSERT queries turned into one single query

    下一篇: Inserting row error, incorrect syntax near '<'