Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

evitando a inserção simultânea de vários mesmos id no mysql


Você deseja usar uma sequência .

Duas ressalvas:

  • O AUTO_INCREMENT recurso descrito no artigo não é padrão e pode causar problemas de portabilidade ao mover para um banco de dados diferente.

  • Se um INSERT é abortado, um número da sequência ainda é consumido, então você pode acabar com falhas na sequência. Se isso for inaceitável, use uma sequência gerada automaticamente para a chave primária (substituta) e adicione um mapa separado dessa chave ao número de sequência "oficial", reforçando a exclusividade no índice dessa tabela.

A alternativa é aplicar UNIQUE ness no banco de dados, use um TRANSACTION ISOLATION LEVEL apropriado e adicione a lógica do aplicativo para lidar com a falha de INSERT .