У меня есть запрос, который обновляет логическое значение для данной записи, а затем вставляет эту запись в другую таблицу (в зависимости от выполненного действия), используя подзапрос select.Подзапрос select работает нормально, но как добавить дополнительную переменную в конец запроса для вставки?Причина, по которой мне нужно это сделать, заключается в том, что подзапрос select не содержит этих данных, и эти данные будут храниться только в одной из двух таблиц, в которые «копируется» исходная запись.
$id = $_POST['id'];
$action = $_POST['action'];
$reason = $_POST['reason'];
if($action == "approve") {
$statement = $db->prepare("UPDATE waiting SET wait = :status WHERE id = :id");
$statement->bindValue(':status', 0);
$statement->bindParam(':id', $id);
$statement->execute();
$statement = $db->prepare("INSERT INTO approved (fname, lname, student_id, email, type) SELECT fname, lname, student_id, email, type FROM waiting WHERE id = :id");
$statement->bindParam(':id', $id);
$statement->execute();
$lastId = $db->lastInsertId();
$statement = $db->prepare("UPDATE approved SET reason = :reason WHERE id = $lastId");
$statement->bindParam(':reason', $reason);
$statement->execute();
}
В основном я хочу объединить запрос вставки, который использует подзапрос выбора, и запрос на обновление, который обновляет причину, в один запрос.Возможно ли это синтаксически?
РЕДАКТИРОВАТЬ: Я должен быть более ясным и утверждать, что причина передачи - строка, введенная пользователем в текстовое поле.Это не столбец или любые другие данные в таблице.
Спасибо