sql >> Database >  >> RDS >> Mysql

Wanneer moet ik UNSIGNED en SIGNED INT gebruiken in MySQL?

UNSIGNED slaat alleen positieve getallen (of nul) op. Aan de andere kant kan ondertekend negatieve getallen bevatten (d.w.z. kan een negatief teken hebben ).

Hier is een tabel met de waardebereiken, elk INTEGER type kan opslaan:


UNSIGNED varieert van 0 naar n , terwijl ondertekend varieert van ongeveer -n/2 naar n/2 .

In dit geval heeft u een AUTO_INCREMENT ID-kolom, zodat u geen negatieven zou hebben. Gebruik dus UNSIGNED . Als u UNSIGNED niet gebruikt voor de AUTO_INCREMENT kolom, zal uw maximaal mogelijke waarde half zo hoog zijn (en de negatieve helft van het waardebereik zou ongebruikt blijven).



  1. MYSQL INNER JOIN met mogelijke lege velden

  2. Is transactiebeheer in de Controller een slechte gewoonte?

  3. EXEC sp_executesql met meerdere parameters

  4. Problemen hebben met een MySQL Join die aan meerdere voorwaarden moet voldoen