sql >> Database >  >> RDS >> Mysql

MySQL-trigger:kopieer de auto_increment-waarde naar een andere kolom bij het invoegen

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

ik deed zoiets als dit

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

in het geval dat u UNSIGNED_ZEROFILL gebruikt in het id-veld... en u heeft mogelijk een aangepast type "openbare" id nodig...



  1. ORA-00054:resource bezet en verwerven met NOWAIT gespecificeerd

  2. Een string converteren naar een datum in PostgreSQL

  3. Waarom is IS NOT NULL false bij het controleren van een rijtype?

  4. SUM(NULL) begrijpen in MySQL