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

Проблем с MySql INSERT MAX()+1

Можете да използвате нещо подобно:

INSERT INTO users (user_id, name)
SELECT 1 + coalesce((SELECT max(user_id) FROM users WHERE name='Bob'), 0), 'Bob';

Но такова запитване може да доведе до състояние на състезание. Уверете се, че сте в транзакция и сте заключили таблицата с потребители, преди да я стартирате. В противен случай може да се окажете с два Боба със същия номер.



  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, предаване на AUTO_INCREMENT към друга таблица

  2. android.content.res.Resources$NotFoundException:низ на ресурс с идентификатор #0x2 база данни

  3. Основната таблица или изглед не са намерени:1146 Таблица Laravel 5

  4. BIGINT Грешка извън обхвата след MySQL 5.5

  5. Подредената входна стойност вмъква празен запис в mysql