私はmysqlデータベースでRails Webアプリケーションを使用しています。テーブルの各レコードに対して10桁の一意の番号/英数字を自動保存する必要があります。テーブルには数百万を超えるレコードが含まれる可能性があります (将来的に)
要件:
- 10 桁の一意の番号は mysql データベースからのみ生成する必要があり、生成された番号は 10 桁未満であってはなりません
- 普遍的な一意の ID を返す mysql の uuid() および uuid_short() メソッドも参照しましたが、これらは 10 桁を超える数字を返します。
- 生成された一意の番号が連続していない場合は、はるかに優れています (次または前のレコードなどの他のレコードへのアクセスは予測できません)。
注:
- テーブル内の一意性を確認するには追加のクエリが必要なため、一意の ID を手動で生成する (タイムスタンプ、record_id などの組み合わせなどのロジックを適用する) 方が良いとは思いません。