sql >> データベース >  >> RDS >> Mysql

MySQLからの既存の値に基づいて次の英数字IDを取得する方法

    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では機能しません。


    1. SQLServerのSTATISTICSIOとは何ですか?

    2. Pl/sqlでメールを送信する方法

    3. MySQLはデータベースをインポートしますが、特定のテーブルを無視します

    4. データベースに挿入する前に、最初の文字(式)に基づいて最初の3文字をトリミングする方法