0

いくつかの製品といくつかの SKU に関する情報を含むデータベースを作成する必要があります。その一部は製品タイプとサブタイプであり、合計で 60 ~ 70 の製品タイプとそれぞれに 2 ~ 20 のサブタイプがあります。 .

生成する必要がある SKU コードの部分は XXY の形式です。ここで、XX は製品タイプで、Y はそのサブタイプです。タイプ部分については、一意の auto_increment フィールドを簡単に追加できました (決して99 を超える)が、サブタイプの部分では、数字と文字の両方を 1-9-AZ のような順序で使用する必要があります。

これを達成する最も簡単な方法は何ですか? Yフィールドを確認して取得するためにjavascript / jsonを使用する方法についてはいくつか考えがありますが、これにはphp / mysqlを使用するだけの簡単な方法があるはずだと感じました。

基本的に必要なのは、php/mysql が一意の製品タイプごとに 1 から Z までの単一文字の「id サブタイプ」を生成することです。

4

1 に答える 1

0

この文字を生成するには、Javascript または PHP (またはサーバー側で使用しているもの) を使用する必要があります。それを行う組み込みの SQL 関数はありません。単一文字の id サブタイプにはVARCHARBUTを使用しないでくださいCHAR(1)

CHARは固定長であるため、1 文字につき 1 バイトしか使用しません。長さ情報を保持するのに + 2 バイトVARCHARと同じです。CHAR

例:

$characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; 
$char = strtoupper($characters[rand(0, strlen($characters) - 1)]);
于 2013-03-22T06:44:00.547 に答える