如何将数据合并到Mysql中的临时表中

问题描述:

我有一张非常大的表,名为paypal_ipn_orders。在这张表中,我有两个重要的信息位item_name和一行sort_num。我想使用某些参数从paypal_ipn_orders中提取记录并将其放入名为temp_table的临时表中。我知道如何选择记录如下如何将数据合并到Mysql中的临时表中

SELECT `item_name`, `sort_num` 
FROM `paypal_ipn_orders` 
WHERE `packing_slip_printed` = 0 
AND LOWER(`payment_status`) = `completed` 
AND `address_name` <> '' 

该查询选择了所有我想移动到临时数据库中,我只是不知道该怎么做了记录。

使用MySQL的Insert Into Select我向临时表中的列添加了通用数据类型,您需要从表中找出实际的数据类型,并使它们相同。

CREATE TEMPORARY TABLE temp_table (
    item_name varchar(50), 
    sort_num int 
); 

INSERT INTO temp_table (item_name, sort_num) 
SELECT `item_name`, `sort_num` 
FROM `paypal_ipn_orders` 
WHERE `packing_slip_printed` = 0 
AND LOWER(`payment_status`) = `completed` 
AND `address_name` <> '' 
+0

是否会自动创建临时表? – user1542036 2012-08-16 19:12:08

+0

不,您需要先创建临时表,然后在INSERT语句中按名称引用它。熟悉如何在MySQL中创建临时表? – jon3laze 2012-08-16 19:13:41

+0

CREATE TEMPORARY table_name – user1542036 2012-08-20 16:11:22