Mysql
 sql >> Database >  >> RDS >> Mysql

Concatenare una stringa e l'ID della chiave primaria durante l'inserimento

Se user_id è una chiave primaria AUTO_INCREMENT, quindi non puoi farlo con una singola istruzione, anche se usi un trigger.

Il problema è che il valore AUTO_INCREMENT non viene generato fino a dopo il BEFORE INSERT trigger viene eseguito, ma non puoi modificare username nel AFTER INSERT trigger.

Quindi devi solo fare il INSERT , quindi esegui immediatamente un UPDATE .

Se user_id è non un AUTO_INCREMENT, ma invece è qualcosa che specifichi tu stesso, quindi è facile, fai semplicemente la concatenazione nel tuo codice PHP prima di passare i valori come parametri.

Aggiornamento:non puoi farlo nemmeno con le colonne generate da MySQL 5.7. Risulta in questo errore quando tenti di creare la tabella: