У меня ситуация с несколькими соединениями в БД:
db connection 1: INSERT xyz
(very short time passes)
db connection 2: SELECT [looking for xyz]
Иногда SELECT
находит xyz
, а иногда нет (потому что он находится на другом соединении БД, чем INSERT
). Если я поставлю sleep(1)
после того, как INSERT then the SELECT
всегда найдет xyz
.
Для соединения с БД 1, как я могу заставить его ждать, пока не закончится INSERT
, и будет доступна новая строка для SELECTs
, работающей на другом соединении с БД?
Мой столик innodb
. Вариант использования: вставка идентифицированного идентификатора сеанса в соединение 1, затем перенаправление на страницу, прошедшую аутентификацию, и затем, когда приходит запрос на страницу, прошедшую аутентификацию (в другом соединении), мы ищем идентификатор сеанса для аутентификации запроса. Это нормально, если мы немного замедлим вход в систему и заставим его ждать до полного завершения INSERT
, чтобы аутентифицированный идентификатор сеанса был доступен для других запросов перед возвратом.