![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hej.
Napotkałem dziwny problem. Mianowicie: utworzyłem sobie tabelę bazie danych i jednym z jej pól jest pole o nazwie "nip". To pole ma 10 znaków, a jego typ, to INT. Będę w nim trzymał NIP-y różnych osób. Po utworzeniu jednego rekordu we wspomnianej tabeli, zamiast podanego przeze mnie NIP-u wyświetlała się liczba 2147483647. Przy próbie edycji tej danej nawet przez phpMyAdmina jej wartość nie ulegała zmianie. Po prostu nie dało się jej zmienić. Zmieniłem typ tego pola na VARCHAR i mam spokój, bo wszystko działa. Ciekawi mnie jedynie dlaczego taka sytuacja w ogóle miała miejsce i dlaczego, to pole nie mogło normalnie funkcjonować jako typ INT. Moje parametry: Windows XP, Apache 2.2.4., MySQL 5.0.37., PHP 5.2.3. Może ktoś wie lub domyśla się, dlaczego tak się działo... -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
2147483647 to największa wartość jaką może przyjąć INT, http://dev.mysql.com/tech-resources/articl...-datatypes.html. Swoją drogą co za różnica czy INT czy VARCHAR, przecież NIP jest raczej stały i żadnych operacji matematycznych na nim nie będziesz przeprowadzał. Czemu coś takiego Ci się wyświetliło? - Nie wiem, a raczej nie rozumiem czemu ten rekord nie chcę Ci się zmienić na inny w phpmyadmin, ale może jakaś myśl Ci się nasunie po tym co napisałem wyżej
![]() Pozdrawiam. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Lepiej uzyc BIGINT zajmuje 8bajtow, oszczedzasz 3 bajty na kazdym rekordzie (zakladajac ze dlugosc nipu to 10 cyfr = 10bajtów + 1bajt dlugosci pola varchar)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:56 |