MyISAMを使用している場合は、テキストフィールド+自動インクリメントフィールドに複合主キーを作成できます。 MySQLは番号の増分を自動的に処理します。これらは別々のフィールドですが、同じ効果を得ることができます。
CREATE TABLE example (
company_name varchar(100),
key_prefix char(4) not null,
key_increment int unsigned auto_increment,
primary key co_key (key_prefix,key_increment)
) ENGINE=MYISAM;
テーブルに挿入すると、key_increment
フィールドは、key_prefix
に基づく最大値に基づいて増分されます 。したがって、key_prefix
で挿入します 「smit」はkey_inrement
の1で始まります 、key_prefix
「jone」はkey_inrement
の1で始まります 、など。
長所:
- 数値の計算には何もする必要はありません。
短所:
- 2つの列に分割されたキーがあります。
- InnoDBでは機能しません。