在MySQL中的两个表之间移动列

时间:2017-04-13 06:18:08

标签: php mysql codeigniter

我正在使用MySQL数据库的PHP Codeigniter,我有两个表Student(原始表)和Student1(临时表),两个表都有不同的列。

我将大量学生列表从CSV文件上传到Student1(临时表),之后我必须将这些学生详细信息移到学生(原始表)中。我怎么能这样做?

这是不同的情况,我不只是询问执行查询,而是我必须使用MVC(CodeIgniter)。

3 个答案:

答案 0 :(得分:0)

使用此查询:

INSERT INTO Student(first, last, dob) SELECT first, last, dob FROM Student1

将列名更改为每个表的相应列名。

答案 1 :(得分:0)

使用这个帮助你的SQL

INSERT INTO Student(field1,field2,field3)
SELECT field1,field2,field2
FROM Student1;

您可以将此代码用于ci

$query = $this->db->query('INSERT Student (field1, field2, field3)
                           SELECT field1, field2, field3
                           FROM Student');

这是格式

INSERT INTO database2.table1(field1,field2,field3) SELECT table2.field1,table2.field2,table2.field3 FROM table2;

了解更多信息

https://dev.mysql.com/doc/refman/5.7/en/insert-select.html

答案 2 :(得分:0)

例如
学生 id 名称;
Student1 id 名字姓氏

您可以按要求填写学生

INSERT INTO Student SELECT id, CONCAT(firstname, ' ', lastname) FROM Student1;

如果学生不为空,您可以追加记录(将 id 更改为 null , 我假设 id 列是自动增量):

INSERT INTO Student SELECT null, CONCAT(firstname, ' ', lastname) FROM Student1;