gpt4 book ai didi

php - Mysql - 如何从具有多个WHERE条件的另一个表更新表

转载 作者:行者123 更新时间:2023-11-30 22:42:56 33 4
gpt4 key购买 nike

我有 2 个表:

table1 看起来像:

column1 | column2 | item1 | item2 | item3 | item4 | (it goes till item50)

value | value | value | value | value | value | .........

table_to_update 看起来像:

column1 | colum2 | item

value | value | value of item1

value | value | value of item2

value | value | value of item3

value | value | value of item4

value | value | value of item....

当我在 table1 中更改 colum1 或 column2 的值时,我希望这些数据在 table_to_update 中更改。注意项目 1-50 的值永远不会改变

因此我可以使用此 PHP 命令更新 item1 的值:

UPDATE table_to_update, table1
SET table_to_update.column1 = table1.column1, table_to_update.column2 = table1.column2
WHERE table_to_update.item = table1.item1

然后 item2 的值:

UPDATE table_to_update, table1
SET table_to_update.column1 = table1.column1, table_to_update.column2 = table1.column2
WHERE table_to_update.item = table1.item2

(都一样,只是 table1.item1 变成了 table1.item2)

并且重复50次,显然不是很方便

有没有办法只改变 WHERE 部分,比如像这样(这是错误的):

UPDATE table_to_update, table1
SET table_to_update.column1 = table1.column1, table_to_update.column2 = table1.column2
WHERE table_to_update.item = table1.item1 ("THEN") table_to_update.item = table1.item2 ("THEN") table_to_update.item = table1.item3 ....

或者,我可以为 50 个项目编写如下命令:

UPDATE table_to_update, table1
SET table_to_update.column1 = table1.column1, table_to_update.column2 = table1.column2
WHERE table_to_update.item = table1.item1

UPDATE table_to_update, table1
SET table_to_update.column1 = table1.column1, table_to_update.column2 = table1.column2
WHERE table_to_update.item = table1.item2

但我不知道如何让它们全部从 1 个 PHP 页面运行。看起来我需要创建 50 个 PHP 页面,每个页面有 1 个语句?

最佳答案

$data = mysql_fetch_assoc(mysql_query('SELECT * FROM table1'));

foreach ($data as $row) {

mysql_query("UPDATE table_to_update SET column1 = '{$row['column1']}', column2 = '{$row['columnd2']}' WHERE item = '{$row['item1']}'");



}

我认为这就是您需要前往的地方。但它需要更多的工作并且不安全。如果有人想做出贡献,请继续。

关于php - Mysql - 如何从具有多个WHERE条件的另一个表更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30618527/

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