Использование блокировка :
LOCK TABLES t1, t2 WRITE;
...
UNLOCK TABLES;
ПРИМЕЧАНИЕ: если какой-либо из запросов не выполнен, вам придется откатить их вручную! Поэтому убедитесь, что вы собрали INSERT_ID()
s или каким-либо другим способом определения строк, которые вы вставляете. (10x ring0)
Если это происходит слишком часто в вашем приложении - вы получите ужасную производительность. В этом случае вам лучше переключиться на InnoDB с его функцией блокировки строк и транзакциями.
И убедитесь, что вы ВСЕГДА либо отключаетесь сразу после этой операции, либо выполняете запрос UNLOCK TABLES
! В противном случае (например, если вы забыли разблокировать / умереть за исключением исключения при постоянном подключении к БД, в этих таблицах может возникнуть тупик!)