Was bedeutet "unsigned" in MySQL und wann sollte ich es verwenden?
MySQL sagt:
Alle Ganzzahltypen können ein optionales (nicht standardmäßiges) Attribut UNSIGNED haben. Der vorzeichenlose Typ kann verwendet werden, um nur nicht negative Zahlen in einer Spalte zuzulassen oder wenn Sie einen größeren oberen Zahlenbereich für die Spalte benötigen . Wenn eine INT-Spalte beispielsweise UNSIGNED ist, ist die Größe des Spaltenbereichs gleich, aber die Endpunkte verschieben sich von -2147483648 und 2147483647 auf 0 und 4294967295.
Wann benutze 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 es, einen Primärschlüssel zu verwenden , die ein Auto-Inkrement INT
beim Start Null , aber der Typ ist SIGNED
, in diesem Fall werden Sie nie eine der negativen Zahlen berühren und Sie reduzieren die Bandbreite der möglichen id auf der Hälfte ist.
positive
Attribut, da es noch häufiger vorkommt, dass Sie nur mit positiven Zahlen arbeiten möchten, die nicht Null sind.