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

MySQLトリガー:挿入時にauto_increment値を別の列にコピーします

    このコードについて

      CREATE TRIGGER insert_example
      BEFORE INSERT ON notes
      FOR EACH ROW 
      SET NEW.content = (
            SELECT AUTO_INCREMENT 
            FROM information_schema.TABLES 
            WHERE TABLE_SCHEMA = DATABASE() 
            AND TABLE_NAME = 'notes'
      );
    

    私はこのようなことをしました

    SET NEW.content = (SELECT CONCAT('ID',LPAD(AUTO_INCREMENT, number,'0')) 
    FROM information_schema.TABLES 
    WHERE TABLE_SCHEMA = DATABASE() 
    AND TABLE_NAME = 'notes');
    

    idフィールドでUNSIGNED_ZEROFILLを使用する場合...そして、カスタムタイプの「public」idが必要になる場合があります...



    1. SQLランクパーセンタイル

    2. row_number()を使用したSQL更新

    3. Oracle Dateデータ型、SQLを介して「YYYY-MM-DDHH24:MI:SSTMZ」に変換

    4. MySQLとMongoDB間のデータ同期