-4

我想将所有数据从一个 SQL 表移动到另一个表,其中两个表具有相同的结构。

样本数据

Table A
| ID | Name | Address|

Table B
| ID | Name | Address|

要求
将所有数据从表 B 移动到表 A,但不想在表 B 上使用select并在表 A 上插入所有数据。最好更改表结构以实现此目的。

初步想法
我最初删除了表 A,并将表 B 重命名为表 A。这有效。但问题是我无法附加到表A中的数据。我想保留表A中的数据,并将表B中的数据附加到表A中。所以,这个解决方案不起作用。

任何有关如何进行此操作的指示,将不胜感激。

编辑
对于一个愚蠢的问题,我向所有人道歉。最好的方法是使用 INSERT ... SELECT... 再次道歉!

4

2 回答 2

0

您应该能够在单个MySQL RENAME TABLE 语句中简单地重命名两个表

RENAME TABLE TableA to TableB, TableB to TableA

如果 MySQL 抛出错误或无法正常使用上述内容,您可以改为使用虚拟名称和三个语句。

RENAME TABLE TableA to badTable;
RENAME TABLE TableB to TableA;
RENAME TABLE badTable to TableB;
于 2013-05-18T14:40:35.480 回答
-1

我没有尝试过,但我认为这会奏效

insert into 'Table_A' ('Name','Address') values (select 'Name','Address' from 'Table_B')
于 2013-05-18T14:25:50.643 回答