Di MariaDB, UUID_SHORT()
adalah fungsi bawaan yang mengembalikan Pengenal Unik Universal (UUID) singkat.
Ini mengembalikan integer 64-bit yang tidak ditandatangani (sebagai lawan dari pengidentifikasi 128-bit bentuk string seperti yang dikembalikan oleh UUID()
fungsi).
Sintaks
Sintaksnya seperti ini:
UUID_SHORT()
Jadi, tidak ada argumen yang diperlukan (atau diterima).
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT UUID_SHORT();
Hasil:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
Jika saya menyebutnya lain kali, saya mendapatkan nilai yang berbeda:
SELECT UUID_SHORT();
Hasil:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
Tentang Hasil
Nilai yang dikembalikan oleh UUID_SHORT()
dijamin unik jika kondisi berikut ini benar:
server_id
host saat ini unik di antara kumpulan server master dan slave Andaserver_id
berada di antara0
dan255
- Anda tidak mengatur kembali waktu sistem untuk server Anda antara
mysqld
mulai ulang - Anda tidak memanggil
UUID_SHORT()
rata-rata lebih dari 16 juta kali per detik antaramysqld
mulai ulang
Perhatikan bahwa pernyataan menggunakan UUID_SHORT()
fungsi tidak aman untuk replikasi berbasis pernyataan.
Dibandingkan dengan UUID()
Fungsi
Hasil dikembalikan oleh UUID_SHORT()
mirip dengan yang dikembalikan oleh UUID()
fungsi, kecuali bahwa hasilnya dikembalikan oleh UUID()
adalah angka 128-bit yang diwakili oleh string utf8 dari lima angka heksadesimal dalam aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
format.
Berikut perbandingan keduanya:
SELECT
UUID(),
UUID_SHORT();
Hasil:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
Selain itu, dari MariaDB 10.6.1, sebuah SYS_GUID()
fungsi telah ditambahkan untuk meningkatkan kompatibilitas Oracle.
Tidak Ada Argumen
Seperti yang disebutkan, UUID_SHORT()
tidak menerima argumen apa pun. Inilah yang terjadi ketika saya menyampaikan argumen:
SELECT UUID_SHORT(3);
Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'