Topik ini menjelaskan konsep-konsep terkait kolom auto-increment dan cara kerja kolom auto-increment dalam database PolarDB-X.
Konsep
PolarDB-X mendukung kata kunci AUTO_INCREMENT untuk menentukan kolom sebagai kolom auto-increment. PolarDB-X secara otomatis menghasilkan nilai unik global untuk kolom tersebut.
- Jika pernyataan
INSERTyang digunakan untuk menyisipkan data tidak menentukan nilai untuk kolom auto-increment, atau jika nilai yang ditentukan adalah 0 atau NULL, PolarDB-X akan menghasilkan nilai unik global untuk kolom tersebut. - Jika pernyataan
INSERTmenentukan nilai untuk kolom auto-increment, PolarDB-X menggunakan nilai tersebut untuk operasi saat ini dan menghasilkan nilai berikutnya yang lebih besar untuk operasi selanjutnya. - Kolom auto-increment dalam database mode AUTO mendukung semua properti kolom auto-increment MySQL, termasuk keunikan, monotonicity, dan kontinuitas nilai.
Cara kerja kolom auto-increment
Jika Anda menentukan kata kunci AUTO_INCREMENT untuk kolom saat membuat tabel di PolarDB-X, PolarDB-X secara otomatis membuat urutan dan mengaitkannya dengan kolom auto-increment dalam tabel untuk menghasilkan nilai unik global. Saat menyisipkan data ke dalam tabel, urutan tersebut digunakan untuk menghasilkan nilai unik global yang kemudian dimasukkan ke dalam kolom auto-increment.
- Jika database berada dalam mode AUTO, PolarDB-X membuat urutan NEW dan mengaitkannya dengan kolom auto-increment. Kolom auto-increment yang dikaitkan dengan urutan NEW memiliki properti berikut:
- Keunikan: Nilai dalam kolom auto-increment bersifat unik secara global.
- Monotonicity: Nilai dalam kolom auto-increment meningkat secara monotonik secara global.
- Kontinuitas nilai: Nilai dalam kolom auto-increment berurutan. Jika terjadi pengecualian atau instance di-restart, nilai mungkin menjadi tidak berurutan.
- Kompatibilitas: Kolom auto-increment mendukung semua properti kolom auto-increment dalam database MySQL.
- Jika database berada dalam mode DRDS, PolarDB-X membuat urutan GROUP dan mengaitkannya dengan kolom auto-increment. Kolom auto-increment yang dikaitkan dengan urutan GROUP memiliki properti berikut:
- Keunikan: Nilai dalam kolom auto-increment bersifat unik secara global.
- Monotonicity: Nilai yang dihasilkan oleh setiap node komputasi meningkat secara monotonik. Namun, nilai di seluruh node komputasi mungkin tidak monotonik.
- Kontinuitas nilai: Nilai urutan dalam sesi koneksi node komputasi dan durasi cache berurutan. Jika terjadi pengecualian atau instance di-restart, nilai mungkin menjadi tidak berurutan.
- Kompatibilitas: Kolom auto-increment mendukung properti keunikan dari kolom auto-increment MySQL tetapi tidak mendukung fitur lainnya.
Anda juga dapat menentukan jenis urutan yang ingin dikaitkan dengan kolom auto-increment dalam tabel. Untuk informasi lebih lanjut, lihat Kaitkan Urutan dengan Kolom Auto-Increment dalam Tabel. Untuk informasi tentang properti berbagai jenis urutan dan skenario umum penggunaannya, lihat Ikhtisar.