Мы наблюдаем это поведение случайным образом на вновь вставленных записях и только на производственной базе данных (Amazon RDS). Похоже, что-то связано с тупиком ... (об ошибках не сообщается)
Уязвимые таблицы - InnoDB, payment_id - автоинкремент, и время окончания всех транзакций составляет порядка миллисекунд. Все соединения находятся на одном сервере, автокоммит включен и репликация отсутствует (что касается документации Amazon).
Соединение № 1:
2011-03-07 14:09:54 ВСТАВИТЬ В платежи SET SET payment_transaction = 'XYZ'
Соединение № 2:
2011-03-07 14:10:06: ВЫБЕРИТЕ * ИЗ ПЛАТЫ, ГДЕ payment_transaction
= ПРЕДЕЛ XYZ 0, 1
Ответ: пусто
2011-03-07 14:10:06: ВЫБРАТЬ * ИЗ ПЛАТЫ ЗАКАЗАТЬ НА payment_id
DESC LIMIT 0, 1
Ответ: [payment_id] => 26242, [payment_transaction] => ABC
2011-03-07 14:50:06: ВЫБЕРИТЕ * ИЗ ПЛАТЫ, ГДЕ payment_transaction
= XYZ LIMIT 0, 1
Ответ: [payment_id] => 26243, [payment_transaction] => XYZ