mysql - 使用临时表的字段进行插入

标签 mysql temp-tables

我想将临时表中的所有字段移至另一个表中,但我的语句似乎不起作用。在生成要在插入语句中使用的临时表后,如何选择一些字段。

这是我生成临时表的代码,它可以工作:

> CREATE TEMPORARY TABLE table2 AS(SELECT ca.catref AS cx_ref, c.name AS code_name, ca.title, ca.keywords, ca.cat1, ca.cat2, ca.cat3, ca.active, ca.moderated,
FROM table ca
JOIN anothertable c ON c.prefix = LEFT( ca.catref, 3 ))   

这是我直接调用的代码,它引用了临时表,但似乎不起作用......

> INSERT INTO mytable (catref, cartoonist, title, keywords, cat1, cat2, cat3, active, moderated, source_db)
SELECT catref, code_name, title, keywords, cat1, cat2, cat3, active, moderated, source_db from table2

最佳答案

您在第一个查询(创建临时)中出现错误,在ca.moderate之后,删除逗号...ca.moderated,:

CREATE TEMPORARY TABLE table2 AS(
SELECT ca.catref AS cx_ref, c.name AS code_name, 
ca.title, ca.keywords, ca.cat1, ca.cat2, ca.cat3,
ca.active, ca.moderated
FROM table ca
JOIN anothertable c ON c.prefix = LEFT( ca.catref, 3 )) 

要插入试试这个:

INSERT INTO `mytable` 
(catref, cartoonist, title, keywords, cat1, cat2, cat3, active, moderated, source_db) 
SELECT * 
from `table2` 

关于mysql - 使用临时表的字段进行插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15096439/

相关文章:

mysql - 如何使用 select where in 作为所有必需的输入

mysql - 如何压缩光盘上的 InnoDB 表?

PHP mb_convert_encoding 不适用于查询

sql - #temp_table 与用户。#temp_table sybase_iq

mysql - 在 MySql 中创建临时表时会发生冲突吗?

mysql - 如何将临时 MySQL 表转储到文件中?

mysql - 将 AR 模型与临时表连接起来

mysql - 从现有数据库创建 EER 模型但已完成关系 - Workbench

mysql - 我想要列的最小编号

SQL - 创建一个连接的临时表