Pergunta sobre php, mysql, pdo – Como posso ter certeza de que o lastInsertId () do PDO não é o de outro insert simultâneo?

8

Eu estou fazendo um formulário de inscrição com umINSERT Consulta SQL usando o PDO. Após este INSERT, quero extrair ouserid (auto incremento, chave primária) que acabou de ser criado, eINSERT em outra tabela (uma tabela de "código de confirmação")

Mas como posso ter certeza de que esse userid não é o de um segundo usuário que registrou 1/1000 de segundo depois que o primeiro usuário?

Devo encontrar algum jeito de trancar a mesa? Devo usar transações?

Sua resposta

2   a resposta
1

sso garantirá que você obtenha o ID de usuário correto.

Por exemplo:

select id from user_table where email = '[email protected]' limit 1;
Sim, não há problema. Eu aprendi algo novo também. Gohn67
Oi, eu queria usar o lastInsertId (), mas vou manter sua dica em mente. Muito obrigado. alexx0186
10

lastInsertId() retorna o identificador da última linha inseridanessa conexão, portanto, os usuários simultâneos (com conexões diferentes ao banco de dados) não irão interferir.

Oi, obrigado pela sua resposta. Eu vou usar isso sem se preocupar. Saudações alexx0186

Perguntas relacionadas