Задать вопрос
@mstr
TeamLead & Java developer

Как гарантированно получить новую запись в запросе MySql внутри транзакции?

Добрый день. Скажите, как в транзакции в MySQL гарантировано получить запись которая создана в insert.
Пример:
1) Начинаю транзакцию
2) Создаю запись черезINSERT INTO Customers ( code ) VALUES (155);
3) ЧитаюSELECT * FROM Customers WHERE code=155;
Получаю пустой список
4) Читаю через секунду повторно, запись есть

Как гарантированно получить созданную запись на 3м шаге
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
после транзакции запросить LAST_INSERT_ID, и его уже использовать для выборки
Ответ написан
@BorisKorobkov Куратор тега MySQL
Web developer
2) Создаю запись через INSERT INTO Customers ( code ) VALUES (155);
3) Читаю SELECT * FROM Customers WHERE code=155;
Получаю пустой список

Такое возможно только, если п. 3 выполнять из другого коннекта.
Укажите код.
Ответ написан
@RidgeA
изменить уровень изоляции транзакции
https://dev.mysql.com/doc/refman/5.7/en/innodb-tra...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы