Это странно. Я выполняю запрос только с одним INSERT, которому предшествует инструкция SET. Запрос выглядит примерно так:
SET @discount:=(SELECT discount * :applyDiscount FROM fra_cus WHERE customerID=:customerID AND franchiseID=:franchiseID);
INSERT INTO discounts_applied (unitID, franchiseID, customerID, amount)
VALUES(:unitID, :franchiseID, :customerID, @discount * :price);
Похоже, что если я подготовлю их как два отдельных запроса PDO, lastInsertID () будет работать нормально ... но если я подготовлю их и выполню в одном выражении,lastInsertID () ничего не возвращает.
Это не конец света, но это раздражает. Кто-нибудь знает, почему это так? Для записи есть причина, по которой мне нужно определить @discount как переменную (относится к триггерам в одной из таблиц). Также все это происходит в рамках более крупной транзакции.