對不起,但我找不到最好的單詞來給此標題。 但是,這是怎麼回事:只更新具有第一行的相同值組合的列的行 - MySQL
我(例如)有此表
| P1 | P2 | P3 | P4 |
| 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 0 | 0 | 1 | 1 |
我寫
SELECT * FROM Table WHERE P1!=0 OR P2!=0 OR P3!=0 OR P4!=0 LIMIT 1;
它將返回給我的第一排,現在我會就像通過將其編號從1更改爲0來更新其他具有相同數字1組合的行(所有P1 = 1且P2 = 1和P4 = 1的行)。 在此示例中,只有第三行將會更新改爲0010.
棘手的部分是,我不知道哪列將有第一行中的任何數字(第一個組合是隨機的)。我需要獲取數字1的列,然後更新,如果在同一列中有值爲1的其他行。
這有點麻煩,但我希望你能理解它。
在本例中最後的表將是:
| P1 | P2 | P3 | P4 |
| 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 1 |
澄清:
另一組隨機組合的到達我的表:
表2是:
| P1 | P2 | P3 | P4 |
| 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 |
隨着更新它將返回:
| P1 | P2 | P3 | P4 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 |
P2和P4在第一行中爲= 1,因此第2行和第4行在這兩列上具有相同的值,使它們對更新有效。
它正是我所說的! :)我會有更多的列和行,但我只需要在一個循環內完成它(我也使用C++)。發現如何使用MySQL連接器使用C++代碼,但這是另一個不錯的選擇。謝謝 :) – RubenC