Multiple INSERT queries turned into one single query
本问题已经有最佳答案,请猛点这里访问。
我已经搜索了Stackoverflow,没有一个能正确回答我的问题。
我的问题是如何将多个INSERT查询转换为单个插入查询。
更加具体; https://gist.github.com/gregariousjb/e73fdf1489acbbb63651这一个。 这是我需要了解如何制作单个查询的查询。
样品;
1 2 3 4 | INSERT INTO `creature` (`guid`, `id`, ...) VALUES (1, 2843, ...); INSERT INTO `creature` (`guid`, `id`, ...) VALUES (2, 7853, ...); |
其中有1000个,需要变成一个。 我真诚地感谢我能得到的任何帮助。
如果您使用的是Sql Server,请尝试以下操作
1 2 3 4 5 | INSERT INTO TABLE (COLUMNS..) VALUES(values1,value2,...), (values1,value2,...), (values1,value2,...), (values1,value2,...) |
在Mysql中,这样做(大多数流行的数据库都有类似的语法):
1 2 3 | INSERT INTO mytable (col1, col2, col3, ...) VALUES (1, 2843, 0, ...), (2, 7853, 0, ...); |
在大多数数据库中,您可以这样做:
1 2 3 4 | INSERT INTO mytable (col1, col2, col3, ...) SELECT 1, 2843, 0, ... UNION ALL SELECT 2, 7853, 0, ...; |
在Oracle等后向数据库中,您必须使用人工单行表DUAL对第二个选项进行编码:
1 2 3 4 5 6 | INSERT INTO mytable (col1, col2, col3, ...) SELECT 1, 2843, 0, ... FRIM DUAL UNION ALL SELECT 2, 7853, 0, ... FROM DUAL; |
最接近的是速记版本,只需要字段列表一次:
1 2 3 4 | INSERT INTO `creature` ( <FIELD list> ) VALUES ( <VALUE list> ), ( <VALUE list> ), ( <VALUE list> ) |