sql >> Base de Datos >  >> RDS >> Mysql

Concatenar una cadena y una identificación de clave principal al insertar

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: