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

mysqlの自動インクリメントフィールドの前にテキストを配置する方法(例:TTT00001)?

    必要なのはトリガーともう1つのテーブルです。以下でこのトリガーを試してください;

    DELIMITER $$
    CREATE TRIGGER tg_tableName_insert
    BEFORE INSERT ON tableName
    FOR EACH ROW
    BEGIN
      INSERT INTO tableName_seq VALUES (NULL);
      SET NEW.id = CONCAT('IDC', LPAD(LAST_INSERT_ID(), 8, '0'));
    END$$
    DELIMITER ;
    

    シーケンステーブルを作成することを忘れないでください;

    CREATE TABLE tableName_seq
    (
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    );
    CREATE TABLE tableName
    (
      id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
    );
    

    tableNameテーブルにデータを挿入すると、最初のIDはIDC00000001になり、2番目のIDC00000002はそのようになります。お役に立てば幸いです!




    1. カスタムビルド統計

    2. PostgreSQLが大文字のテーブル名を好まないのはなぜですか?

    3. テキストの編集とボタンを使用してデータベースにデータを保存する

    4. GeoDataFrameをSQLデータベースに書き込みます