Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Typ pola w tabeli bazy danych MySQL
Speedy
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
strife
post
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 smile.gif

Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
osiris
post
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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 14:56