我有两张桌子,table1和table2。
我在table1中有一个行,我想把它移到table2,然后从table1中删除它。基本上,是一个cut+paste。
我正在使用php。我目前的计划是从table1中选择,在php中存储数据,插入到table2中,然后从table1中删除。这似乎是一个非常漫长的过程。
这真的是最好的方法吗?
发布于 2011-03-24 13:59:58
你至少需要2个查询:
INSERT INTO table2 (column_name1, column_name2) SELECT column_name1, column_name2 FROM table 1 WHERE <insert_where_clause_here>
DELETE FROM table1 WHERE <your_where_clause>
我认为没有更简单的方法可以使用MySQL完成这项工作
发布于 2011-03-24 13:48:47
使用INSERT INTO ... SELECT插入另一个表中的数据
发布于 2012-06-20 16:15:26
我发现我必须在初始查询和插入之间准备数据。这是一个基于codeigniter的CMS,所以它使用它们的函数并返回格式,但可能会对某些人有所帮助。
function move_row($id = 0) {
/* first copy it from table_one to table_two */
$query = $this->db->query('select * from table_one where id = ' . $id);
$row = $query->row_array(); /* this appears to be required */
$this->db->insert('table_two',$row);
/* then delete it from table_one */
return($this->db->query('delete from table_one where id = ' . $id));
}
(基本架构、无错误检查等)
https://stackoverflow.com/questions/5420156
复制相似问题