Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-04-25 09:13:43

  sysek - Użytkownik

sysek
Użytkownik
Skąd: Łorsoł
Zarejestrowany: 2010-06-28
Serwis

MySQL i zmiana danych

Cześć !

Jako, że pierwszy raz zabrałem się za  poważny skrypt, już wychodzą moje pierwsze błędy.
Mam sobie skrypt który zapisuje sobie dane do MySQL, data, czas itp. Format czasu dałem jako varchar (dd/mm/yyyy) i niestety tutaj wychodzi mój błąd. Podczas sortowania brana jest pod uwagę tylko pierwsza wartość, czyli dd. Co jest widoczne na załączniku poniżej.
http://i.imgur.com/g1xCs6M.png
Teraz chciałbym zrobić taką operację. Zamienić ten varchar na format typu yy-mm-dd i później skonwertować varchar na date. Wiem jak skonwertować, ale nie wiem jak za jednym zamachem zmienić całą tablice.


zakochałem się po uszy.

Offline

 

#2  2014-04-25 10:02:08

  maro - Użytkownik

maro
Użytkownik
Zarejestrowany: 2006-10-21

Re: MySQL i zmiana danych

Może tak?

Kod:

UPDATE  tabela SET Data=date_format(str_to_date(Data, '%d/%m/%Y'), '%Y%m%d');

Piszę z głowy nie mam teraz jak sprawdzić.
Proponuję to zrobić w transakcji begin end żebyś nie zepsuł sobie bazy.

Offline

 

#3  2014-04-25 10:24:19

  sysek - Użytkownik

sysek
Użytkownik
Skąd: Łorsoł
Zarejestrowany: 2010-06-28
Serwis

Re: MySQL i zmiana danych

dzięki :) pokombinowałem, poszukałem w internecie i trochę popsułem kolumnę. Ale za drugim razem spokojnie wszystko zrobiłem i mi wyszło. Ostateczny kod tego to

Kod:

update `mail` set `data` = str_to_date(`data`, '%d/%m/%Y');
alter table `mail` modify column `data` date not null;

zakochałem się po uszy.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)