我正在致力于将数据从一个 db1 迁移到另一个 db2。
我有一种情况,其中表 Person 存在于两个数据库(db1 和 db2)中。
但是 db2 中的表多了一列。这是编写查询以将数据从 db1 Person 迁移到 db2 Person 的最有效方法。
我写的如下,这是最好的写法吗?因为如果我有更多列并且只有一个额外列,因此我需要在循环语句中提及所有列名称。
$select = $dbh1->prepare("SELECT * FROM person");
$insert = $dbh2->prepare("INSERT INTO PERSON VALUES (?,?,?,?,?)");
$select->execute;
while ( my($PR_ID,$NAME,$LASTNAME) = $select->fetchrow_array )
{
$insert->execute($PR_ID,$NAME,$LASTNAME,'NULL','NULL');
}
最佳答案
如果源表和目标表中存在列不匹配,则使用如下语法 -
insert into table1(col1,col2,col3) select col1,col2,col3 from table2;
关于mysql - 将一个表中的行插入到另一个表中,哪个表有额外的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35269686/