我有两个mysql表,它们都具有相同的typeID。我想从这两个具有相同typeID的表中选择所有内容,查询如下:

SELECT ta.requiredTypeID, ta.typeID, ta.quantity
  FROM `invtypes` as t, `typeactivitymaterials` as ta
  WHERE volume > 0 AND t.typeID = ta.typeID;

这给了我正确的结果,但是我试图将此查询导出为插入语句。我尝试添加INTO OUTFILE“/ path /”,但这仅将数据导出为制表符/逗号分隔的数据,是否可以将这些数据导出为insert语句?

干杯

ef

最佳答案

您可以将INSERT与SELECT结合使用,以直接从select语句的结果中插入记录。

您的操作方式如下所示:

INSERT INTO newtable (requiredTypeID, typeID, quantity)
     SELECT ta.requiredTypeID, ta.typeID, ta.quantity
         FROM `invtypes` as t, `typeactivitymaterials` as ta
         WHERE volume > 0 AND t.typeID = ta.typeID;

这是相关的MySQL manual page的链接。

请注意,这实际上会立即执行插入操作;它并不能完全满足您的要求(即生成insert语句供以后使用)。

关于mysql - MySQL导出查询作为插入语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3786820/

10-16 14:57