![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 9 Dołączył: 24.07.2008 Skąd: Racibórz Ostrzeżenie: (10%)
|
witam mam takie zapytanie:
i ok i chce do tego dodać tabele powód ale dopiero zaczynam z mysql i nie wiem jaki wybrać typ (int lub varchar) i próbuje tak:
i moje pytanie dobrze kombinuje ?
Powód edycji: [erix] poprawka bbcode
|
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 2.03.2009 Ostrzeżenie: (0%)
|
Tak na marginesie int(100) wartosc w nawiasie nie oznacza ilosci przechowywanych znakow a dopelnienie spacjami w razie nie uzyskania okreslonej ilosci znakow ktore nie moga przekroczyc 10... "wartosc ktora probujesz wstawic ma pomiescic 100 znakow" czyli wynik wyniesie 2147483647. Maxymalna wartosc wynosi 10 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował dziadzlasu 2.03.2009, 18:25:40 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
INT to wartości liczbowe, a VARCHAR tekstowe, dla zmiennej długości tekstu, czyli dobrze robisz. Btw. dodajesz pole, a nie tabele (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
dziadzalasu chyba 11 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 2.03.2009 Ostrzeżenie: (0%)
|
My bad, nie 9 nie 11 a 10 znakow (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Do tych 10 doliczyles minusa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ? |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
Znaczy ja się nie mądruję, bo generalnie średnio rozumiem te długości, ale chociażby phpbb przechowuje w INT(11) datę w formacie unixowym (11 znaków) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mógłby ktoś wytłumaczyć tak na pewno, bo to niby długość, ale coś ostatnio czytałem i zwątpiłem w swoją wiedzę, a kolegi nie ma co na starcie w błąd wprowadzać. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%)
|
Z dokumentacji MySQL:http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
Cytat The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters. Czyli jeśli liczba w tym polu będzie miała mniej cyfr niż liczba podana w nawiasie, to zostanie dopełniona spacjami (ewentualnie zerami ZEROFILL), jeśli będzie miała więcej cyfr to nic się nie stanie. Nic nie piszą o ograniczeniu do 10 czy 11 znaków. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%)
|
W każdym razie może wydawać się (przynajmniej ja tak myślę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ), że np. SMALLINT(3) przechowuje 3 znaki, czyli liczby do 999, a tymczasem, jak wyżej zacytował PanGuzol to pole przyjmuje wartości od -32768 do 32767 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował KCG 2.03.2009, 23:09:09 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 14:07 |