Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
629 views
in Technique[技术] by (71.8m points)

php - How can I make sure that PDO's lastInsertId() is not that of another simultaneous insert?

I am doing a signup form with an INSERT SQL query using PDO. After this INSERT, I want to extract the userid (auto incrementing, primary key) that was just created, and INSERT it into another table (a "confirmation code" table)

But how can I make sure that this userid is not that of a second user who registered 1/1000th of a second later that the first user?

Should I find some way of locking the table? Should I use transactions?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

lastInsertId() returns the identifier of the last row inserted on that connection, so concurrent users (with different connections to the database) will not interfere.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...