Apa arti "unsigned" di MySQL dan kapan saya harus menggunakannya?
MySQL mengatakan:
Semua tipe integer dapat memiliki atribut opsional (tidak standar) TIDAK DITANDATANGANI. Jenis yang tidak ditandatangani dapat digunakan untuk mengizinkan hanya nomor-nomor non-negatif dalam sebuah kolom atau ketika Anda membutuhkan rentang numerik atas yang lebih besar untuk kolom tersebut. Misalnya, jika kolom INT TIDAK DITANDATANGANI, ukuran rentang kolom adalah sama tetapi titik akhirnya bergeser dari -2147483648 dan 2147483647 ke 0 dan 4294967295.
Kapan saya menggunakannya?
Tanyakan kepada diri Anda pertanyaan ini: Apakah bidang ini pernah mengandung nilai negatif ?
Jika jawabannya tidak, maka Anda menginginkan UNSIGNED
tipe data.
Kesalahan umum adalah menggunakan kunci utama yang merupakan peningkatan otomatis INT
mulai dari nol , namun tipenya adalah SIGNED
, dalam hal ini Anda tidak akan pernah menyentuh angka negatif mana pun dan Anda mengurangi kisaran id yang mungkin menjadi setengah.
positive
atribut, karena tampaknya lebih umum bahwa Anda hanya ingin bekerja dengan angka-angka positif, bukan nol.