Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verketten einer Zeichenfolge und einer Primärschlüssel-ID beim Einfügen

Wenn user_id ein AUTO_INCREMENT-Primärschlüssel ist, können Sie dies nicht mit einer einzigen Anweisung tun, selbst wenn Sie einen Trigger verwenden.

Das Problem besteht darin, dass der AUTO_INCREMENT-Wert erst nach BEFORE INSERT generiert wird Trigger wird ausgeführt, aber Sie können username nicht ändern im AFTER INSERT auslösen.

Sie müssen also nur INSERT ausführen , dann gleich ein UPDATE durchführen .

Wenn user_id ist nicht ein AUTO_INCREMENT, sondern etwas, das Sie selbst angeben, dann ist es einfach, Sie führen einfach die Verkettung in Ihrem PHP-Code durch, bevor Sie die Werte als Parameter übergeben.

Update:Sie können dies auch nicht mit von MySQL 5.7 generierten Spalten tun. Es führt zu diesem Fehler, wenn Sie versuchen, die Tabelle zu erstellen: