-2

テーブルの主キーに6つの英数字を作成する必要がありますが、自動インクリメントでintフィールドを作成し、そのフィールドの最大値を取得してこのコードで処理することを考えているため、英数字で別のフィールドに保存できます..これを行いますアイデアとコードは要件を満たしていますか? そしてそれは良いですか?それは常にユニークですか?

<?php
    $code = the max value retrieved from the autoincrement int
    function getNextAlphaNumeric($code) {
        $base_ten = base_convert($code,36,10);
        $result = base_convert($base_ten+1,10,36);
        $result = str_pad($result, 6, '0', STR_PAD_LEFT);
        $result = strtoupper($result);
        return $result;
    }
4

1 に答える 1

0

ここで考えるべきことがあります。

  1. 6文字の主キーを作成します。

  2. PHPでコードを生成する

  3. INSERT IGNORE;を使用して挿入します。影響を受ける行がない場合(最初はあまりありそうにない)、再試行してください。

  4. 終わり。固有のコードが追加されました。

于 2012-12-07T12:51:07.890 に答える