我有两个表 OldDocuments 和 文档 ,我想从一个表中导入数据, OldDocument 并将其复制到新表中,因为他们知道这两个表没有相同的列名,也没有相同的名称。
以下是我要导入新表的列
OldDocument
ID(PK)
文件(BLOB)
文件名(VARCHAR)
DocumentType(VARCHAR)
user_Id(FK)
文档
Id(PK)
Document_content(BLOB)
fileName(VARCHAR)
的DocType(VARCHAR)
USER_ID (FK)
我需要一个查询,它将从一个表中进行选择,并将这些列复制到新表中。像
这样的东西 INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id)
VALUES (get data from the old table)
答案 0 :(得分:1)
您可以从其他选择中插入结果。以下是文档:http://www.w3schools.com/sql/sql_insert_into_select.asp
例如:INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;
答案 1 :(得分:1)
INSERT INTO Document (Id,Document_content,fileName,DocType,user_Id)
SELECT Id,Document,fileName,DocumentType,user_Id
FROM OldDocument
;
答案 2 :(得分:1)
使用INSERT INTO ... SELECT
:
INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id)
SELECT ID, Document, fileName, DocumentType, user_id FROM OldDocument;
答案 3 :(得分:1)
INSERT INTO Document
SELECT Id,Document,fileName,DocumentType,user_Id
FROM OldDocument
答案 4 :(得分:1)
尝试使用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
答案 5 :(得分:1)
试试这个:
INSERT INTO DOCUMENT(ID,document_content, fileName , DocType, user_Id)
select Id, Document, filename, DocumentType, user_Id from OldDocument
答案 6 :(得分:0)
这是此类问题的一般格式正确答案
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;