sql >> Databasteknik >  >> RDS >> Mysql

Sammanfoga en sträng och primärnyckel-ID vid infogning

Om user_id är en AUTO_INCREMENT primärnyckel, så kan du inte göra detta med en enda sats, även om du använder en trigger.

Problemet är att AUTO_INCREMENT-värdet inte genereras förrän efter BEFORE INSERT triggern körs, men du kan inte ändra username i AFTER INSERT utlösare.

Så du behöver bara göra INSERT , gör sedan omedelbart en UPDATE .

Om user_id är inte en AUTO_INCREMENT, men istället är något du anger själv, då är det enkelt, du gör bara sammanfogningen i din PHP-kod innan du skickar värdena som parametrar.

Uppdatering:Du kan inte göra det med MySQL 5.7-genererade kolumner heller. Det resulterar i detta fel när du försöker skapa tabellen:



  1. SQL Server Error 113:Saknar slutkommentarmärke '*/'

  2. Hur man visar transaktionsloggar i SQL Server 2008

  3. MySQL:Få totalt i sista raden av MySQL-resultat

  4. Hur kan jag få summan av flera datetime-värden?