将数据从一个表复制到另一个表

Posted

技术标签:

【中文标题】将数据从一个表复制到另一个表【英文标题】:copy data from one tables to another one 【发布时间】:2014-12-10 09:33:14 【问题描述】:

我有两个表 OldDocumentsDocuments,我想从一个表中导入数据,OldDocument 并将其复制到新表中,因为这两个表的列名编号和名称都不相同。

这是我要导入新表的列

旧文档

Id(PK) 文档(BLOB) 文件名(VARCHAR) 文档类型(VARCHAR) user_Id(FK)

文档

ID (PK) 文档内容 (BLOB) 文件名 (VARCHAR) DocType(VARCHAR) user_Id(FK)

我需要一个查询,该查询将从一个表中进行选择并将这些列复制到新表中。类似的东西

    INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id) 
    VALUES (get data from the old table)

【问题讨论】:

【参考方案1】:

您可以插入另一个选择的结果。这是文档:http://www.w3schools.com/sql/sql_insert_into_select.asp

例如:INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;

【讨论】:

【参考方案2】:
INSERT INTO Document (Id,Document_content,fileName,DocType,user_Id)
SELECT Id,Document,fileName,DocumentType,user_Id
FROM OldDocument
;

【讨论】:

【参考方案3】:

使用INSERT INTO ... SELECT:

INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id) 
SELECT ID, Document, fileName, DocumentType, user_id FROM OldDocument;

【讨论】:

【参考方案4】:
INSERT INTO Document
SELECT Id,Document,fileName,DocumentType,user_Id
FROM OldDocument

【讨论】:

【参考方案5】:

尝试使用INSERT INTO ... SELECT

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

INSERT INTO Document (ID, document_content, fileName , DocType, user_Id) 
SELECT Id, Document, filename, DocumentType, user_Id FROM OldDocument

【讨论】:

【参考方案6】:

试试这个:

INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id) 
    select Id, Document, filename, DocumentType, user_Id from OldDocument

【讨论】:

【参考方案7】:

这是此类问题正确答案的一般格式

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

来源:http://www.w3schools.com/sql/sql_insert_into_select.asp

【讨论】:

以上是关于将数据从一个表复制到另一个表的主要内容,如果未能解决你的问题,请参考以下文章

MySQL如何复制表中的一条记录并插入

oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)

如何将数据从一个 BigTable 表复制到另一个 BigTable 表

为了将数据从一个高效的表复制到另一个表,使用 INTO 还是使用 INSERT? [复制]

将过滤后的数据从一个工作表复制到另一个工作表

将数据从一个表复制到另一个表