Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Trigger:Kopiere den auto_increment-Wert beim Einfügen in eine andere Spalte

Auf diesem Code

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

Ich habe so etwas gemacht

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

falls Sie UNSIGNED_ZEROFILL für das ID-Feld verwenden ... und Sie möglicherweise einen benutzerdefinierten Typ einer "öffentlichen" ID benötigen ...