Autor | Zpráva | ||
---|---|---|---|
jak Profil * |
#1 · Zasláno: 21. 7. 2008, 16:06:54
Ahoj. Potřeboval bych dotaz na mysql, který by provedl následující: všude, kde je povolen 1 změnit na 0 a naopak. Jak na to? Dva dotazy na to logicky napsat nemůžu.
|
||
Jan Tvrdík Profil |
#2 · Zasláno: 21. 7. 2008, 16:21:00 · Upravil/a: Jan Tvrdík
jak
Můžeš to řešit 3 dotazy nebo počkat jestli někdo nevymyslí nějaký fígl. |
||
Hugo Profil |
#3 · Zasláno: 21. 7. 2008, 16:22:45
update `tab` set
`povolit` = !`povolit` |
||
jak Profil * |
#4 · Zasláno: 21. 7. 2008, 16:23:15
Nemůžu, povolen nesmí být jiná hodnota, než 0 čí 1, protože nad mysql běží aplikace, která toto neustále čte.
|
||
jak Profil * |
#5 · Zasláno: 21. 7. 2008, 16:23:45
tohle byla odpověď na pro Jan Tvrdík
|
||
jak Profil * |
#6 · Zasláno: 21. 7. 2008, 16:29:32
Hugo: tohle nefunguje, nastaví to nic, tam kde byla nula a nulu, tam kde nebylo nic, ale 1 a 0 neprohazuje.
|
||
nightfish Profil |
#7 · Zasláno: 21. 7. 2008, 16:31:28
nepůjde to takhle?
update `tab` set povolit = if(povolit = 1, 0, 1) |
||
Hugo Profil |
#8 · Zasláno: 21. 7. 2008, 16:38:13
jak
Jaký je datový typ toho sloupce? S int by to mělo fungovat. |
||
jak Profil * |
#9 · Zasláno: 21. 7. 2008, 17:12:54
Hugo: enum
|
||
jak Profil * |
#10 · Zasláno: 21. 7. 2008, 17:16:04
nightfish: to samé jako `povolit` = !`povolit`
|
||
jak Profil * |
#11 · Zasláno: 21. 7. 2008, 17:18:51
už to jde. Podmínka musí být přesně takto: if( `povolit` = '1', '0', '1' )
|
||
Hugo Profil |
#12 · Zasláno: 21. 7. 2008, 17:22:44
jak
To jsi měl napsat hned na začátku, že to není číslo, ale řetězec. To je poměrně důležitý údaj. |
||
Mastodont Profil |
#13 · Zasláno: 22. 7. 2008, 15:33:14
Pro int bych navrhnul
update `tab` set povolit = abs(povolit - 1) |
||
nightfish Profil |
#14 · Zasláno: 22. 7. 2008, 15:35:27
Mastodont
update `tab` set povolit = abs(povolit - 1) vida, to je velmi šikovné... |
||
Hugo Profil |
#15 · Zasláno: 22. 7. 2008, 15:38:01
Mastodont
IMHO bude negace rychlejší. |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0