Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Trigger:copia il valore auto_increment in un'altra colonna al momento dell'inserimento

Su questo codice

  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'
  );

ho fatto qualcosa del genere

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

nel caso utilizzi UNSIGNED_ZEROFILL nel campo id... e potresti aver bisogno di un tipo personalizzato di id "pubblico"...