MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana UUID() Bekerja di MariaDB

Di MariaDB, UUID() adalah fungsi bawaan yang mengembalikan Pengenal Unik Universal (UUID).

UUID dibuat sesuai dengan spesifikasi “DCE 1.1:Remote Procedure Call” (Lampiran A) CAE (Lingkungan Aplikasi Umum) yang diterbitkan oleh The Open Group pada bulan Oktober 1997 (Nomor Dokumen C706).

Sintaks

Sintaksnya seperti ini:

UUID()

Jadi, tidak ada argumen yang diperlukan (atau diterima).

Contoh

Berikut ini contoh untuk didemonstrasikan:

SELECT UUID();

Hasil:

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| e5aa36ee-cd8a-11eb-be04-88e9fe739f3d |
+--------------------------------------+

Jika saya menyebutnya lain kali, saya mendapatkan nilai yang berbeda:

SELECT UUID();

Hasil:

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| f11b4702-cd8a-11eb-be04-88e9fe739f3d |
+--------------------------------------+

Tentang UUID

UUID (Universal Unique Identifier) ​​adalah angka yang dirancang untuk unik secara global dalam ruang dan waktu. Dua panggilan ke UUID() diharapkan menghasilkan dua nilai yang berbeda, meskipun panggilan ini dilakukan pada dua komputer terpisah yang tidak terhubung satu sama lain.

UUID adalah angka 128-bit yang diwakili oleh string utf8 dari lima angka heksadesimal dalam aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee format:

  • Tiga angka pertama dihasilkan dari stempel waktu.
  • Angka keempat mempertahankan keunikan temporal jika nilai stempel waktu kehilangan monoton (misalnya, karena waktu musim panas).
  • Angka kelima adalah nomor node IEEE 802 yang memberikan keunikan spasial. Nomor acak diganti jika yang terakhir tidak tersedia. Dalam kasus seperti itu, keunikan spasial tidak dapat dijamin. Karena itu, tabrakan seharusnya merupakan peristiwa dengan probabilitas yang sangat rendah.

Perhatikan bahwa pernyataan menggunakan UUID() fungsi tidak aman untuk replikasi berbasis pernyataan.

Dibandingkan dengan SYS_GUID() Fungsi

Hasil dikembalikan oleh UUID() mirip dengan yang dikembalikan oleh SYS_GUID() fungsi, kecuali SYS_GUID() tidak menyertakan simbol tanda hubung (- ) di hasil (sedangkan, UUID() tidak).

Berikut perbandingan keduanya:

SELECT 
    UUID(),
    SYS_GUID();

Hasil:

+--------------------------------------+----------------------------------+
| UUID()                               | SYS_GUID()                       |
+--------------------------------------+----------------------------------+
| 9e795ffc-cd71-11eb-8f75-0800270503a7 | 9E796001CD7111EB8F750800270503A7 |
+--------------------------------------+----------------------------------+

SYS_GUID() fungsi diperkenalkan di MariaDB 10.6.1 untuk meningkatkan kompatibilitas Oracle.

Ada juga UUID_SHORT() fungsi yang mengembalikan UUID singkat sebagai bilangan bulat 64-bit yang tidak ditandatangani.

Meneruskan Argumen

Seperti disebutkan, UUID() tidak menerima argumen apa pun. Inilah yang terjadi ketika saya menyampaikan argumen:

SELECT UUID(3);

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana UNHEX() Bekerja di MariaDB

  2. Bagaimana CURDATE() Bekerja di MariaDB

  3. Menggunakan Plugin Audit MariaDB untuk Keamanan Database

  4. DROP TABLE JIKA ADA di MariaDB

  5. Tanggal &Waktu Lokal Tersedia di MariaDB