如何将数据合并到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` <> ''
是否会自动创建临时表? – user1542036 2012-08-16 19:12:08
不,您需要先创建临时表,然后在INSERT语句中按名称引用它。熟悉如何在MySQL中创建临时表? – jon3laze 2012-08-16 19:13:41
CREATE TEMPORARY table_name – user1542036 2012-08-20 16:11:22