[MYSQL] Update if =?ISO-8859-2?Q?kom=F3rka_is_null?=
sawic - 19-06-2006 01:58
[MYSQL] Update if =?ISO-8859-2?Q?kom=F3rka_is_null?=
Witam. Chciałbym uzyskać coś takiego:
update db.table set komórka_1 = 'cos', if(komórka_2 is null, komórka_2 = now(), komórka_2 = komórka_2), komórka_3 = 'cos'
Czyli, jeżeli komórka_2 jest pusta to wstaw aktualny timestamp, jeżeli już coś w niej jest to pozostaw bez zmian.
Niestety to nie działa. Czy da się zrobić coś takiego w jednym odpytaniu bazy ?
Zawsze mogę sprawdzać komórka_2 czy null, i w zależności od tego przygotować zapytanie dla bazy, ale to już 2 odpytania.
Pozdrawiam
Krzysztof Wiśniewski - 19-06-2006 01:58
Użytkownik "sawic" <sawicc@wytnij.to.gmail.com> napisał w wiadomości news:e73bmn$rqn$1@news.onet.pl... | Witam. | Chciałbym uzyskać coś takiego: | | update db.table set komórka_1 = 'cos', if(komórka_2 is null, komórka_2 = | now(), komórka_2 = komórka_2), komórka_3 = 'cos' | | Czyli, jeżeli komórka_2 jest pusta to wstaw aktualny timestamp, jeżeli | już coś w niej jest to pozostaw bez zmian. | | Niestety to nie działa. | Czy da się zrobić coś takiego w jednym odpytaniu bazy ? | | Zawsze mogę sprawdzać komórka_2 czy null, i w zależności od tego | przygotować zapytanie dla bazy, ale to już 2 odpytania. |
Może po prostu:
UPDATE tabela SET komorka = 'cos' WHERE komorka IS NULL;
Pozdrawiam, Krzysiek
kubik - 19-06-2006 01:58
=?iso-8859-2?q?Re:_Update_if_kom=F3rka_is_null?= sawic napisał(a): > Witam. > Chciałbym uzyskać coś takiego: > > update db.table set komórka_1 = 'cos', if(komórka_2 is null, komórka_2 = > now(), komórka_2 = komórka_2), komórka_3 = 'cos'
IFNULL(expr1,expr2)
pozdrawiam Adam Kubiczek
sawic - 19-06-2006 01:58
Krzysztof Wiśniewski napisał(a): > Może po prostu: > > UPDATE tabela SET komorka = 'cos' WHERE komorka IS NULL;
Nie, gdyż modyfikuję jeszcze i inne komórki podczas jednego odpytania bazy. Kubik podał dobre rozwiązanie.
Pozdrawiam
sawic - 19-06-2006 01:58
kubik napisał(a): >>Chciałbym uzyskać coś takiego: >> >>update db.table set komórka_1 = 'cos', if(komórka_2 is null, komórka_2 = >>now(), komórka_2 = komórka_2), komórka_3 = 'cos' > > > IFNULL(expr1,expr2)
Dokładnie o to chodziło. Wielkie dzięki.
Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Gdzie MySQL 4.1, a gdzie 5.0?
[MS SQL] "set names" (mySQL) w MS SQL
oracle -> oracle lub oracle -> mysql replikacja - programy
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
[MySQL] Zwrot tego, co pasuje i nie pasuje :-/
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
[mysql] galeria zdjec - numerowanie zdjec
[MySQL] Zapytanie z pliku , wynik do pliku
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
mysql data 0000-00-00 na koniec
zanotowane.pldoc.pisz.plpdf.pisz.plchinska-zupka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|