Se
user_id é uma chave primária AUTO_INCREMENT, então você não pode fazer isso com uma única instrução, mesmo se você usar um gatilho. O problema é que o valor AUTO_INCREMENT não é gerado até depois do
BEFORE INSERT o gatilho é executado, mas você não pode alterar username no AFTER INSERT acionar. Então você só precisa fazer o
INSERT , e imediatamente faça um UPDATE . Se
user_id é não um AUTO_INCREMENT, mas em vez disso é algo que você mesmo especifica, então é fácil, basta fazer a concatenação no seu código PHP antes de passar os valores como parâmetros. Atualização:Você também não pode fazer isso com colunas geradas pelo MySQL 5.7. Isso resulta neste erro quando você tenta criar a tabela: