sql >> Database >  >> RDS >> Mysql

Een tekenreeks en een primaire sleutel-ID samenvoegen tijdens het invoegen

Als user_id is een AUTO_INCREMENT primaire sleutel, dan kun je dit niet doen met een enkele instructie, zelfs niet als je een trigger gebruikt.

Het probleem is dat de AUTO_INCREMENT-waarde pas wordt gegenereerd na de BEFORE INSERT trigger wordt uitgevoerd, maar u kunt username niet wijzigen in de AFTER INSERT trigger.

U hoeft dus alleen de INSERT . te doen , doe dan onmiddellijk een UPDATE .

Als user_id is niet een AUTO_INCREMENT is, maar in plaats daarvan iets is dat u zelf specificeert, dan is het eenvoudig, u doet gewoon de aaneenschakeling in uw PHP-code voordat u de waarden doorgeeft als parameters.

Update:u kunt het ook niet doen met door MySQL 5.7 gegenereerde kolommen. Het resulteert in deze fout wanneer u probeert de tabel te maken:



  1. SQL Server Bulk Insert – Deel 1

  2. SQLCipher integreren met greenDAO

  3. nhibernate, call-functie in Oracle die sys refcursor retourneert

  4. Mysql-bulkupdate