Hoi allemaal. Ik heb de volgende tabel die objecten op een pagina beschrijft.
De order_index mag per page_id maar 1x voorkomen. Je kunt niet twee objecten op dezelfde plek laten zien namelijk, ze komen altijd achter (of onder) elkaar. Nu wil ik de order_index van id 2 en 3 omwisselen, in 1 query. Ik mag niet even snel van de order_index bij id 3 order_index 2 maken, omdat die al bestaat. De waarde van order_index is zoals gezegd uniek per page_id.
Een workaround is om een order_index even een NULL waarde of 99999 te geven, iets in die trend. Maar je begrijpt, da's niet echt charmant.
Dus mijn vraag: hoe kan ik de waardes van twee unieke velden omwisselen in 1 query?
Thx
code:
1
2
3
4
5
6
7
| page_object tabel id | page_id | object_id | order_index ----+-----------+-------------+-------------- 1 | 1 | 1 | 1 2 | 1 | 3 | 2 3 | 1 | 3 | 3 |
De order_index mag per page_id maar 1x voorkomen. Je kunt niet twee objecten op dezelfde plek laten zien namelijk, ze komen altijd achter (of onder) elkaar. Nu wil ik de order_index van id 2 en 3 omwisselen, in 1 query. Ik mag niet even snel van de order_index bij id 3 order_index 2 maken, omdat die al bestaat. De waarde van order_index is zoals gezegd uniek per page_id.
Een workaround is om een order_index even een NULL waarde of 99999 te geven, iets in die trend. Maar je begrijpt, da's niet echt charmant.
Dus mijn vraag: hoe kan ik de waardes van twee unieke velden omwisselen in 1 query?
Thx