0

私は呼び出し/バグ追跡スクリプトに取り組んでおり、問題ごとに一意の追跡 ID を生成する際のベスト プラクティスは何ですか。

  • mysql でインデックスを使用するのが最善ですか
  • 使用できる別の形式はありますか
  • 表示形式の処理方法を教えてください。6 (345789) 桁の数字を表示したいのですが。
  • 6 桁を超えた場合、最初からやり直す方法、またはこれを処理する方法を教えてください。
  • または、新しいフィールドを作成して数値を生成するのが最善ですか?

提案???

ありがとう

4

1 に答える 1

0

6 桁の数字をすべて使用する場合、900,000 レコード未満にする必要があります。そうしないと、一意の値が不足します。より多くの桁数を使用するか、データ型を varchar に変更して英数字の値を許可する以外に、これを回避する方法はありません。900,000 件のレコードが存在しないと思われる場合は、mysql の自動インクリメント列を使用しますが、最初の 6 桁の数字 (100000) から始まるようにシーケンスを設定します。このようなテーブルを作成します...

CREATE TABLE bugs
(
  tracking_id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100000,
  ...
)

したがって、レコードを作成するときに生成される最初の tracking_id は 100000 になり、次に 100001 というようになります。ただし、899,999 を超えるレコード (999,999 を超える) を挿入すると、桁数は 7 に増えます。

于 2013-10-29T21:52:32.417 に答える