0

テーブル内に BIGINT として格納できる一意の識別子を作成しようとしています。

一意の識別子に BIGINT を使用する既存のテーブルを使用しています。データベース自体が識別子を生成するのではなく、値を挿入する外部プログラムがこれを行います。このテーブルに独自の値を挿入する必要があり、その際に BIGINT(24) という一意の識別子を生成する必要があります。

私は使用することを考えていましたが、使用しSELECT UTC_TIMESTAMP() + 0ているMySQLのバージョンにはマイクロ秒が含まれていません(私の制御不能)。

SELECT UUID_Short()したがって、いくつかの調査の後、それがより良い方法であるように見えます。ただ、精度が足りないのが気になります。

Is there a way to checkを使用するSELECT UUID_SHORT()と、挿入前に、値UUID_Shortがテーブルにまだ存在しないことを確認できますか? 24 時間ごとに実行されるイベントをデータベースに作成できるように、これらすべてを SQL で実行したいと考えています。イベントが実行されるたびに挿入される数は約 60 レコードなので、パフォーマンスは問題にならないと思います。

4

1 に答える 1