SELECT * INTO <non existent =“”table =“”> - MYSQL

时间:2017-11-29 10:09:19

标签: mysql sql

我正在尝试将select语句的结果移动到一个新的不存在的表中,但无法确定如何。

在MS SQL中,我将遵循以下内容,

SELECT * INTO <NON_EXISTING_TABLE> FROM
(
SELECT * FROM TABLE1 A 
JOIN TABLE2 B
ON A.DescriptionNo = B.DescriptionNo 
WHERE A.DescriptionNo =1) A

当我快速查找时,我只能看到将数据插入现有表的答案,但不会动态创建包含该语句结果的新表。

请指教!

2 个答案:

答案 0 :(得分:1)

此解决方案显示上述工作也适用于所选行。例如,我正在为我的nice2work项目创建演示行,这非常有效。

CREATE TEMPORARY TABLE tmptable SELECT * FROM myTable WHERE id=500;
UPDATE tmptable SET id = 0;
UPDATE some fields I need to change
INSERT INTO myTable SELECT * FROM tmptable;
DROP TABLE tmptable;

//  You can use this same also directly into your code like (PHP Style)
$sql = "CREATE TEMPORARY TABLE tmptable SELECT * FROM myTable WHERE id=500;
UPDATE tmptable SET id = 0;
UPDATE some fields I need to change
INSERT INTO myTable SELECT * FROM tmptable;DROP TABLE tmptable;";

答案 1 :(得分:0)

如果要从select创建新表,可以使用以下语法:

create table new_table as
select *
from existing_table
where ...