Autor | Zpráva | ||
---|---|---|---|
AM_ Profil |
#1 · Zasláno: 9. 8. 2011, 15:30:29
Zdravím, potřeboval bych vědět, jak prohodit hodnoty dvou sloupců v MySQL databázi; mám tabulku převodů peněz se sloupci "z_uctu" a "na_ucet", a když se změní směr převodu, potřeboval bych hodnoty ve sloupcích prohodit.
Zkoušel jsem: UPDATE.. SET z_uctu=na_ucet,na_ucet=z_uctu ... UPDATE.. SET @ucet=z_uctu,z_uctu=na_ucet,na_ucet=@ucet... Může se měnit směr hodně převodů najednou, takže to potřebuji vyřešit nějak na úrovni databáze a věřím, že to půjde snadno, principielně to přeci není problém. Děkuji za nápovědu. |
||
o_O Profil |
#2 · Zasláno: 9. 8. 2011, 16:25:46 · Upravil/a: o_O
Slouží na to @temp. :-)
Mělo by fungovat: UPDATE... SET z_uctu=(@temp:=z_uctu), z_uctu = na_ucet, na_ucet = @temp; Edit: Kajman je v tomto směru odborník, asi bych důvěřoval spíše jemu. |
||
Kajman_ Profil * |
#3 · Zasláno: 9. 8. 2011, 16:26:48
update prevody vzor join prevody cil on vzor.id=cil.id set cil.z_uctu=vzor.na_ucet, cil.na_ucet=vzor.z_uctu where cil.id=42 -- ci jina podminka omezuji radky, u kterych se maji prehodit hodnoty |
||
AM_ Profil |
#4 · Zasláno: 9. 8. 2011, 16:33:59
o_O: díky moc, snažil jsem se to řešit přes proměnnou, ale netušil jsem, že je potřeba takhle obskurní syntax.
Kajman: spojování tabulek kvůli tak banální operaci mi přišlo jako kanón na brabce, ale stejně dík za tip ;) |
||
Časová prodleva: 13 let
|
0