V.Terentev
Новичок
Объединение SELECT и INSERT в один запрос
Добрый день.
Возникла такая ситуация:
Есть часто вызываемый скрипт, в нём выполняется проверка наличия данных в таблице с помощью SELECT и по результатам этой проверки выполняется или нет INSERT в эту же таблицу. При частом вызове скрипта иногда возникает ситуация, когда 2 вызова происходят одновременно настолько, что SELECT второго происходит до INSERT первого и данные добавляются дважды. Даже если выполнять запросы последовательно одна строка за другой - задержки всё равно хватает чтобы иногда ловить одинаковые запросы.
Лочить таблицу нельзя. Сделать проверяемый флаг уникальным ключём нельзя. Версия MySQL - 4.0.26, в ней не поддерживаются вложенные SELECTы. Обновить MySQL также нельзя.
Знатоки MySQL, посоветуйте пожалуйста возможный синтаксис такого запроса для версии MySQL 4.0.26, если это вообще возможно.
Добрый день.
Возникла такая ситуация:
Есть часто вызываемый скрипт, в нём выполняется проверка наличия данных в таблице с помощью SELECT и по результатам этой проверки выполняется или нет INSERT в эту же таблицу. При частом вызове скрипта иногда возникает ситуация, когда 2 вызова происходят одновременно настолько, что SELECT второго происходит до INSERT первого и данные добавляются дважды. Даже если выполнять запросы последовательно одна строка за другой - задержки всё равно хватает чтобы иногда ловить одинаковые запросы.
Лочить таблицу нельзя. Сделать проверяемый флаг уникальным ключём нельзя. Версия MySQL - 4.0.26, в ней не поддерживаются вложенные SELECTы. Обновить MySQL также нельзя.
Знатоки MySQL, посоветуйте пожалуйста возможный синтаксис такого запроса для версии MySQL 4.0.26, если это вообще возможно.