larbriit :)
ir tabulaaa lauks "order" peec kura kaarto ierakstus
aptuveni shaadi
id | parent_id | name | order
"satur"
...
1 | 100 | pirmais | 1
2 | 100 | otrais | 3
3 | 100 | treshais | 2
...
tad, lai apmainiitu vietaaam 2 ierakstus [seciibu apmainiitu], es uzrakstiiju 2 querijus
ieksh MsSQL man straadaaja - rakstiiju ieksh mssql, jo tur eertaak paarbaudiit vai pareizi straadaa, phpMyAdmin neerti
webaa man ir MySQL
UPDATE `tabula` SET `order` = `order`-1 WHERE `id` = 2
shis straadaa. nomaina order par 1 zemaak
UPDATE `tabula` SET `order` = `order`+1 WHERE `id` != 2 AND `order` = (SELECT `order` FROM `tabula` WHERE `id` = 2)
liidziigs shim uz MsSQL stradaaja
id != 2, jo order tagad ir vienaadi
`order` = (select...), lai zinaatu kursh "order" jaapalielina par 1
bet MySQL man saka:
vai ir kaads racionaalaaks veids kaa apmainiit shos order?
protams,
es varu uzrakstiit selectu, kas atseviski panjem pashreizeejos "order" un "id" utt... un peec tam uzrakstiit citus update'us
vai ariii skriptam padot 2'us "id" un vnk izpildiit pirmo query uz 2 dazaadiem "id" utt
utt
bet es grib shaadi :)
vai arii viismaz zinaat, kapeec nevar shaadi
tad nu ko kur pierakstiit lai MySQL aizrijaas un ljauj man izpildiit shaadu query?