Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Concatenar uma string e um ID de chave primária ao inserir


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: