Bu satır konumunu içeren böylece sütun güncelleniyor

0 Cevap php

Bu content tablosu:

ContentID | CategoryID | Position | Other1 | Other2
===================================================
1         | 1          | NULL     | abcd   | efgh
2         | 1          | NULL     | abcd   | efgh
3         | 1          | NULL     | abcd   | efgh
4         | 2          | NULL     | abcd   | efgh
5         | 2          | NULL     | abcd   | efgh
6         | 2          | NULL     | abcd   | efgh

Bu koşu olacağım sorgular şunlardır:

SELECT ContentID FROM content WHERE CategoryID = 1 ORDER BY Position
SELECT ContentID FROM content WHERE CategoryID = 2 ORDER BY Position

Şimdi ben, yukarı hareket uygulamak aşağı hareket, üstüne gitmek ve içerik için alt fonksiyona taşımak istiyorum. Yapmam gereken tüm numaraları ile Pozisyon sütun doldurmak için:

ContentID | CategoryID | Position
=================================
1         | 1          | 1
2         | 1          | 2
3         | 1          | 3
4         | 2          | 1
5         | 2          | 2
6         | 2          | 3

Bu MySQL tek sorgu ile bunu başarmak mümkün mü? Gibi bir şey:

UPDATE content
SET Position = <ROW_NUMBER>
WHERE CategoryID = 1
ORDER BY Position

UPDATE content
SET Position = <ROW_NUMBER>
WHERE CategoryID = 2
ORDER BY Position

0 Cevap