2 回答

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
在這種情況下要更改 C,您甚至不需要 PHP。,
要使用多個(gè)表更新 MySQL 中的值,只需在選擇表時(shí)添加它們,如下所示:
UPDATE table1,table2 SET C = table1.A * table1.B * table2.D * table2.E WHERE C IS NULL;
執(zhí)行此代碼一次將更新所有行,以便C = A*B*D*E
根據(jù)需要在 C 尚未設(shè)置或?yàn)?NULL 的情況下更新。如果您想更新所有行,只需刪除WHERE
條件即可
注意:有時(shí)(至少對我來說)當(dāng) SQL 查詢中沒有 WHERE 條件時(shí),SQL 會(huì)發(fā)出警告。要繞過這個(gè),只需WHERE 1=1
在末尾添加即可。

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
只是為了我的理解:你想計(jì)算一個(gè)值來計(jì)算,你需要表 1 中的一些明確的數(shù)據(jù),但也需要表 2 中的一些數(shù)據(jù),但是哪一個(gè)?我想您想使用同一行中的數(shù)據(jù)(因此 table1 中的第 1 行和 table2 中的第 1 行、表 1 中的第 2 行和 table2 中的第 2 行),對嗎?現(xiàn)在你遇到了一個(gè)問題,因?yàn)楫?dāng)你創(chuàng)建一個(gè)時(shí),select * from table
你不知道他們從數(shù)據(jù)庫中返回的順序。大多數(shù)情況下,它可能與您輸入的順序相同,但沒有保證。你說過每個(gè)表都有一個(gè)主鍵,你是如何定義它們的?我猜你可能有一個(gè) id 列,所以你可以在該 id 上加入你的表?
- 2 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)