gpt4 book ai didi

php - 使用相同的列数和名称从一个表复制到另一个表

转载 作者:行者123 更新时间:2023-12-01 00:48:44 26 4
gpt4 key购买 nike

我有以下两个表...

Table1
colA colB colC
1 a w
2 b w
3 c s
4 b g
5 n


Table2
colA colB colC
1 w f
2 w r
3 s g

我想使用 UPDATE 查询从表 1 复制到表 2,我遇到的问题是我必须设置所有列名,其中每个表有 100 列,但我也有相同的列数和名称。

在 php 中运行查询更新的简单方法是什么?

是否有一些 foreach 东西可能...

这是我现在拥有的...

public function update($id){
try {
UPDATE table1 b
INNER JOIN connect c
ON c.ID = b.ID
INNER JOIN table2 a
ON a.ID_a = c.ID_a
SET b.colA = a.colA,
b.colB = a.colB,
b.colC = a.colC
.
.
.
.
. coontinue here all column name..
.
.
WHERE a.ID_a = '".$id."' ";
} catch(PDOException $e) {
$e->getMessage();
}
return false;
}

有什么想法吗?

最佳答案

您不需要通过 UPDATE 语法来完成。您可以使用 INSERT..SELECT:

INSERT INTO `table2` SELECT * FROM `table1`

如果您在两个表中具有完全相同的结构,这将起作用。如果没有,您必须编写列名(并将列从第一个表映射到第二个表)。

如果你想替换相应的值,那么你应该先删除当前值:

DELETE FROM `table2` WHERE `colA` IN (SELECT `colA` FROM `table1`)

关于php - 使用相同的列数和名称从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18358917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com