這是我的表的樣子:如何在MySQL中移動列的值?
表名:繼
+----+-------+-------+-------+-------+
| ID | user1 | user2 | user3 | user4 |
+----+-------+-------+-------+-------+
| 1 | user2 | user1 | user2 | user2 |
| 2 | user3 | user3 | user1 | user3 |
| 3 | user4 | user4 | user4 | user1 |
+----+-------+-------+-------+-------+
但就像如果變化的值:
+----+-------+-------+-------+-------+
| ID | user1 | user2 | user3 | user4 |
+----+-------+-------+-------+-------+
| 1 | user2 | user1 | user2 | user2 |
| 2 | user3 | user3 | null | user3 |
| 3 | user4 | user4 | user4 | user1 |
+----+-------+-------+-------+-------+
如何讓我的價值user4
(以下其他值那)在沒有NULL值之間? 我想要的輸出:
+----+-------+-------+-------+-------+
| ID | user1 | user2 | user3 | user4 |
+----+-------+-------+-------+-------+
| 1 | user2 | user1 | user2 | user2 |
| 2 | user3 | user3 | user4 | user3 |
| 3 | user4 | user4 | null | user1 |
+----+-------+-------+-------+-------+
我厭倦了這樣的查詢:
UPDATE following t1
LEFT OUTER JOIN following t2 ON T1.user3+1=T2.user3 - 2
SET t1.user3 = t2.user3;
,但我得到了一些錯誤Error code 1,292, SQLState 22007] Truncated incorrect DOUBLE value: user2
爲什麼你需要做這樣的事情?如果這個值可以像這樣任意移動,那麼這個值和給定行之間的關係是什麼......這意味着你的設計沒有被標準化,至少可以說。你需要重新思考這個問題。 – GurV
@GurwinderSingh這些值主要依賴列名而不是行。我無法解釋這是如何工作的,但對於我正在做的事情來說,這很有效。 –