Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL Trigger:copie o valor auto_increment para outra coluna ao inserir


Neste código
  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'
  );

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

caso você use UNSIGNED_ZEROFILL no campo id... e talvez precise de um tipo personalizado de id "público"...