Поскольку вы выполняете запрос из-за пределов MySQL, вы можете использовать команды bash для выполнения других команд, зависящих от первого.
Вы можете сохранить свой запрос в переменной, а затем выполнить оператор if, как показано в следующем примере:
query="INSERT.....";
if [[ $query == *"INSERT"* ]];
then
mysql -e "$query; SELECT LAST_INSERT_ID();"
else
mysql -e "$query"
fi
В приведенном выше примере, если выполняемый запрос содержит какую-либо команду INSERTзатем он получит LAST_INSERT_ID после запуска INSERT.
Если запрос не содержит INSERT, он будет выполнять запрос без получения LAST_INSERT_ID после завершения запроса.
Команда «mysql -e» может быть изменена таким образом, чтобы включить необходимые флаги.
Предоставленный пример оператора if может быть помещен в одну строку, как показано ниже:
query="INSERT....."; if [[ $query == *"INSERT"* ]]; then mysql -e "$query; SELECT LAST_INSERT_ID();"; else mysql -e "$query"; fi