sql >> Databasteknik >  >> RDS >> Mysql

MySQL-utlösare:kopiera auto_increment-värdet till en annan kolumn vid infogning

På den här koden

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

jag gjorde något sånt här

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

om du använder UNSIGNED_ZEROFILL i id-fältet... och du kan behöva en anpassad typ av "public" id...



  1. Jämföra virtuella molnmaskiner med hanterad molndatabas

  2. pgAdmin Alternatives - PostgreSQL Database Management GUI ClusterControl

  3. Hur man beställer efter antal i SQL?

  4. Konvertera latin1-tecken på en UTF8-tabell till UTF8