Я разрабатываю веб-приложение с PHP и MySQL, поскольку у меня есть ситуация, когда мне нужно ограничить количество записей, которые нужно вставить в таблицу.Параллельный запрос PHP и MySQL
...
const MAX= 10
if(/*record count query*/ < $this::MAX) {
/*insert query*/
}
...
Для целей тестирования я запускаю этот код только с помощью запроса GET из браузера.
Когда я нажимаю клавишу F5 (обновлять) непрерывно в течение примерно 5 секунд, счетчик превышает MAX.
Но когда я иду один за другим, счет находится в пределе.
Это показывает, что когда я нажимаю F5 непрерывно count query
был исполнен, а insert query
выполняется одновременно. Я понятия не имею, как решить эту проблему, мне будет полезно руководство.
Я получаю номер ошибки: 1100 Таблица «пример» не была заблокирована с помощью ТАБЛИЦЕЙ LOCK – bkmagnetron
Примечание: запрос будет считываться из одной таблицы и вставляться в другую таблицу. Итак, я использовал много вложенных запросов. – bkmagnetron
Хорошо, он работал после использования имени псевдонима для таблиц подзапросов. – bkmagnetron