Mysql
 sql >> база данни >  >> RDS >> Mysql

Конкатенация на низ и идентификатор на първичен ключ по време на вмъкване

Ако user_id е първичен ключ AUTO_INCREMENT, тогава не можете да направите това с един израз, дори ако използвате тригер.

Проблемът е, че стойността AUTO_INCREMENT не се генерира преди BEFORE INSERT тригерът се изпълнява, но не можете да промените username в AFTER INSERT задействане.

Така че просто трябва да направите INSERT , след което незабавно направете UPDATE .

Ако user_id е не AUTO_INCREMENT, но вместо това е нещо, което определяте сами, тогава е лесно, просто правите конкатенацията във вашия PHP код, преди да предадете стойностите като параметри.

Актуализация:Не можете да го направите и с генерирани от MySQL 5.7 колони. Това води до тази грешка, когато се опитате да създадете таблицата:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изберете от MySQL, където името на таблицата е променлива

  2. преди вмъкване на тригер за вмъкване на дублиращи се редове в друга таблица

  3. Вземете втората най-висока стойност в MySQL таблица

  4. Как да показвам албуми с изображения в публикации? [използвайки само PHP и MYSQL]

  5. Кога да затворите MySQL връзката с помощта на node-mysql?