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

MySQLテーブルの主キーをプレフィックス付きで自動インクリメントする方法

    これが本当に必要な場合は、シーケンス用の個別のテーブル(気にしない場合)とトリガーを使用して目標を達成できます。

    テーブル

    CREATE TABLE table1_seq
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    );
    CREATE TABLE table1
    (
      id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
    );
    

    今トリガー

    DELIMITER $$
    CREATE TRIGGER tg_table1_insert
    BEFORE INSERT ON table1
    FOR EACH ROW
    BEGIN
      INSERT INTO table1_seq VALUES (NULL);
      SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
    END$$
    DELIMITER ;
    

    次に、table1に行を挿入するだけです

    INSERT INTO Table1 (name) 
    VALUES ('Jhon'), ('Mark');
    

    そして、あなたは

    |      ID | NAME |
    ------------------
    | LHPL001 | Jhon |
    | LHPL002 | Mark |
    

    これがSQLFiddle です。 デモ



    1. 効果的かつ簡単な方法で階層、親子関係を達成する

    2. Oracleデータベースでユーザー定義のレコードデータ型変数を作成する方法

    3. ネイティブライブラリsqljdbc_auth.dllはすでに別のクラスローダーにロードされています

    4. Access2016でフォームヘッダーの背景色を変更する方法