[SQL] UNSIGNED, ZEROFILL; waarom/wat doen ze?

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Anoniem: 44279

Topicstarter
Ik gebruik sinds kort het programma MySQL Front (wat overigens niet meer wordt gesupported door de makers; ze zijn ermee gestopt) in plaats van PHPMyAdmin, omdat het een stuk fijner werkt zo zonder browser te gebruiken.

Echter kwam ik hierdoor wel een aantal atributen(?) tegen, voor het aanmaken van een tabel, die ik voorheen niet tegen kwam met PHPMyAdmin. Betreffende; UNSIGNED en ZEROFILL.

En aangezien UNSIGNED automatisch aangevinkt staat bij het aanmaken van een tabel in MySQL Front en het niet (standaard) wordt gebruikt in PHPMyAdmin. Wilde ik wel eens weten wat het is; UNSIGNED ("UNSIGNED - option for integer and floating-point columns") en waarom je het zou gebruiken (dat weet ik vooralsnog dus niet...) en dat was precies eender met ZEROFILL ("ZEROFILL option for integer columns").

En enkel en alleen stond de betekenis van deze 2 in de MySQL Doc en meer niet. En via Google en hier in de search kwam ik ook niet tot een antwoord op mijn vraag:

Wat zijn en doen deze atributen precies; ofwel wat voor effect hebben ze op een veld van een tabel?

Alvast bedankt.

Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 09-05 23:50

CyberSnooP

^^^^ schrijft --->

UNSIGNED betekend dat je getal niet van een teken voorzien kan zijn. Je kunt dus geen negatieve getallen in het veld kwijt. Zou dat wel mogelijk zijn dan moet je DBMS (MySQL) per waarde bijhouden of het teken + of - is, en dat kost een bitje. Als je hem verteld dat het toch altijd positief is (of negatief, maar dat is maar net de betekenis die je de waarde zelf achteraf geeft in je code) kan hij dat bitje gebruiken om de waarde op te slaan. Je hebt dan dus een groter bereik van getallen dat er in een veld past.

ZEROFILL laat ik over aan enthousiaste GoTer onder mij :)

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • pjonk
  • Registratie: November 2000
  • Laatst online: 30-04 23:19
CyberSnooP schreef op 16 februari 2003 @ 12:37:
ZEROFILL laat ik over aan enthousiaste GoTer onder mij :)
Zerofill betekent dat numerieke velden automatisch voorzien worden van voorloopnullen.

Uiteraard is dit ook allemaal terug te vinden in de manual. Zie http://www.mysql.com/doc/en/Numeric_types.html

Voorbeeld uit de manual:
When used in conjunction with the optional extension attribute ZEROFILL, the default padding of spaces is replaced with zeroes. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004.

[ Voor 26% gewijzigd door pjonk op 16-02-2003 13:06 . Reden: extra info ]

It’s nice to be important but it’s more important to be nice


Acties:
  • 0 Henk 'm!

Anoniem: 44279

Topicstarter
Oke, thanks!

Betere uitleg kon ik niet krijgen :)