Si user_id
es una clave principal AUTO_INCREMENT, entonces no puede hacer esto con una sola declaración, incluso si usa un disparador.
El problema es que el valor AUTO_INCREMENT no se genera hasta después de BEFORE INSERT
el activador se ejecuta, pero no puede cambiar username
en el AFTER INSERT
disparador.
Entonces solo tienes que hacer INSERT
, luego haz inmediatamente una UPDATE
.
Si user_id
es no un AUTO_INCREMENT, pero en cambio es algo que especificas tú mismo, entonces es fácil, solo haces la concatenación en tu código PHP antes de pasar los valores como parámetros.
Actualización:tampoco puede hacerlo con las columnas generadas por MySQL 5.7. Da como resultado este error cuando intenta crear la tabla: