1

Want to submit auto-increment value of table_a into table_b at same time. I first inserting record into table_a and then fetching last primary id from table_a and inserting it into table_b. It works well at slow speed like 20 records per sec, but a fast speed and multi user level it inserting duplicate id of table_a into table_b.

enter image description here

Is my approach is wrong ? Please suggest better way to do this.

code

query1 = "insert into `table_a` (`aid`,`name`) values(null,'val')";

query2 = "select `id` from `table_a` order by `id` desc limit 1";

$aid='retrieved_value';

query3 = "insert into table_b (`bid`,`aid`,`btype`) values (null,'$aid','val')";
0

1 Answer 1

2

Yes, your approach is wrong. It is very racy. You have no guarantee that query2 returns the id related to query1. A better approach is to use the last_insert_id function.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.