Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL]tabela
dk1342
post
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


witam mam takie zapytanie:

  1. CREATE TABLE `phpbb_zakazy_pisania` (
  2. `id` int(100) NOT NULL AUTO_INCREMENT,
  3. `user_id` int(100) NOT NULL DEFAULT '0',
  4. `zp_time` varchar(100) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`)
  6. ) TYPE=MyISAM AUTO_INCREMENT=13 ;


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:

  1. CREATE TABLE `phpbb_zakazy_pisania` (
  2. `id` int(100) NOT NULL AUTO_INCREMENT,
  3. `user_id` int(100) NOT NULL DEFAULT '0',
  4. `zp_time` varchar(100) NOT NULL DEFAULT '',
  5. `zp_powod` varchar(100) NOT NULL DEFAULT '',
  6. PRIMARY KEY (`id`)
  7. ) TYPE=MyISAM AUTO_INCREMENT=13 ;


i moje pytanie dobrze kombinuje ?
Powód edycji: [erix] poprawka bbcode
Go to the top of the page
+Quote Post
dziadzlasu
post
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
Go to the top of the page
+Quote Post
KCG
post
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)
Go to the top of the page
+Quote Post
dziadzlasu
post
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) ?
Go to the top of the page
+Quote Post
KCG
post
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ć.
Go to the top of the page
+Quote Post
PanGuzol
post
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.
Go to the top of the page
+Quote Post
KCG
post
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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 14:07