miras
25.03.2013, 18:12:08
Witam, mam w bazie pewną kolumnę, w której mam liczby "2344.13123123523224" i chciałbym zrobić tak, żeby po dodaniu takiej liczby do bazy automatycznie mi ją zaokrągliło po stronie bazy danych, nie po stronie php, jest taka możliwość?
Dzięki z góry!
usb2.0
25.03.2013, 18:20:12
miras
25.03.2013, 18:27:24
TRUNCATE(1.223,2);
ok, tylko jak to teraz zastosować ?
mortus
25.03.2013, 19:27:04
TRUNCATE() ucina, natomiast do zaokrąglania służy ROUND(). Użyj
TRIGGERA.
miras
25.03.2013, 19:32:49
no dobrze, ale w tej dokumentacji nie ma nic o tym, jak tego użyć w istniejącej już tabelce... coś ala ALTER table itp..
mortus
25.03.2013, 19:39:50
Nie no TRIGGER będzie działać w przyszłości przy INSERT-ach. Natomiast istniejące dane możesz zmienić zwykłym UPDATE-em
UPDATE TABLE `nazwa_tabeli` SET `nazwa_kolumny` = ROUND(`nazwa_kolumny`, 2)
miras
25.03.2013, 19:43:58
no właśnie.. a ja potrzebuję czegoś tylko do bazy danych, a przy insertach już nic grzebać nie mogę..
mortus
25.03.2013, 20:04:50
No to przecież podpowiedziałem Ci rozwiązanie:
aktualizacja obecnych rekordów - UPDATE
kolejne INSERT-y - TRIGGER
TRIGGER to "działanie" wykonywane przez silnik baz danych w określonym przez użytkownika momencie, np. przed lub po INSERT, przed lub po UPDATE, itp. Taki TRIGGER zadziała niejawnie w momencie, gdy użytkownik/skrypt będzie wstawiał dane do tabeli i po prostu przed wstawieniem danych zaokrągli wartość dla odpowiedniej kolumny.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.