MariaDBでは、UUID_SHORT()
は、短いUniversal Unique Identifier(UUID)を返す組み込み関数です。
64ビットの符号なし整数を返します(UUID()
によって返される文字列形式の128ビット識別子とは対照的です。 関数)。
構文
構文は次のようになります:
UUID_SHORT()
したがって、引数は必要ありません(または受け入れられません)。
例
デモンストレーションの例を次に示します。
SELECT UUID_SHORT();
結果:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162560 | +-------------------+
別の機会に呼び出すと、別の値が得られます:
SELECT UUID_SHORT();
結果:
+-------------------+ | UUID_SHORT() | +-------------------+ | 99291717236162561 | +-------------------+
結果について
UUID_SHORT()
によって返される値 次の条件が当てはまる場合、一意であることが保証されます。
-
server_id
現在のホストの数は、マスターサーバーとスレーブサーバーのセットの中で一意です -
server_id
0
の間にあります および255
- サーバーのシステム時刻を
mysqld
の間に戻さないでください 再起動 -
UUID_SHORT()
を呼び出さないmysqld
間で平均して1秒あたり1600万回以上 再起動
UUID_SHORT()
を使用するステートメントに注意してください 関数はステートメントベースのレプリケーションには安全ではありません。
UUID()
との比較 機能
UUID_SHORT()
によって返される結果 UUID()
によって返されるものと似ています UUID()
によって返される結果を除いて関数 は、aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
の5つの16進数のutf8文字列で表される128ビットの数値です。 フォーマット。
2つの比較は次のとおりです。
SELECT
UUID(),
UUID_SHORT();
結果:
+--------------------------------------+-------------------+ | UUID() | UUID_SHORT() | +--------------------------------------+-------------------+ | e67d0fc6-cd8d-11eb-be04-88e9fe739f3d | 99291717236162562 | +--------------------------------------+-------------------+
これに加えて、MariaDB 10.6.1から、SYS_GUID()
Oracleの互換性を強化するために関数が追加されました。
引数なし
前述のように、UUID_SHORT()
引数を受け入れません。引数を渡すとどうなりますか:
SELECT UUID_SHORT(3);
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UUID_SHORT'