Você não pode alterar uma tabela enquanto o gatilho INSERT estiver disparando. O INSERT pode fazer algum travamento que pode resultar em um deadlock. Além disso, atualizar a tabela de um gatilho faria com que o mesmo gatilho fosse disparado novamente em um loop recursivo infinito. Ambos os motivos são os motivos pelos quais o MySQL impede você de fazer isso.
No entanto, dependendo do que você está tentando alcançar, você pode acessar os novos valores usando NEW.fieldname ou até mesmo os valores antigos - se estiver fazendo um UPDATE - com OLD.
Se você tivesse uma linha chamada
full_brand_name
e você queria usar as duas primeiras letras como um nome curto no campo small_name
você poderia usar:CREATE TRIGGER `capital` BEFORE INSERT ON `brandnames`
FOR EACH ROW BEGIN
SET NEW.short_name = CONCAT(UCASE(LEFT(NEW.full_name,1)) , LCASE(SUBSTRING(NEW.full_name,2)))
END