webentwicklung-frage-antwort-db.com.de

Was bedeutet "unsigniert" in MySQL und wann wird es verwendet?

Was bedeutet "unsigniert" in MySQL und wann sollte ich es verwenden?

259
HELP

MySQL sagt:

Alle Integer-Typen können ein optionales (nicht standardmäßiges) Attribut UNSIGNED haben. Der vorzeichenlose Typ kann verwendet werden, um nur nichtnegative Zahlen in einer Spalte oder zuzulassen, wenn Sie einen größeren oberen Zahlenbereich benötigen für die Spalte. Wenn beispielsweise eine INT-Spalte UNSIGNED ist, ist die Größe des Spaltenbereichs gleich, aber die Endpunkte werden von -2147483648 und 2147483647 auf 0 und 4294967295 verschoben.

Wann verwende ich es?

Stellen Sie sich folgende Frage: Wird dieses Feld jemals einen negativen Wert enthalten?
Wenn die Antwort Nein lautet, möchten Sie einen UNSIGNED -Datentyp.

Ein häufiger Fehler ist die Verwendung eines Primärschlüssels, der ein automatisches Inkrementieren von INT ist und bei Null beginnt. Der Typ ist jedoch SIGNED, in diesem Fall werden Sie niemals eine der negativen Zahlen berühren und den Bereich möglicher IDs auf die Hälfte reduzieren.

490
codaddict