Как сделать сохранение в таблицу БД , по нажатию на кнопку (python, aiogram)

Я пишу бота на AIOGRAM, почти все уже написал, подключил БД, сделал машину состояний, но не могу сделать так, чтобы перед завершением, машина состояний сохраняла все в 3 разных таблицы, а не в одну, подключил клавиатуру с 3-мя кнопками и начал пробовать, через ветвление не получается, он просто игнорирует условия и сразу в первую по счету базу сохраняет, через функцию тоже не получается... Если быть точнее, то хочу реализовать выбор "в какую таблицу сохранять", чтобы в боте было 3 разных раздела и в каждом из них разное инфо соответственно.

from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram import types, Dispatcher
from create_bot import dp, bot
from aiogram.dispatcher.filters import Text
from data_base import sqlite1_db
from keyboards import admin_kb
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from keyboards import mashine_state
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, ReplyKeyboardRemove


#Переменная определяющая ID.
ID = None


#Класс для машины состояний.
class FSMAdmin(StatesGroup):
    photo = State()
    name = State()
    description = State()
    price = State()
    save = State()


#Получаем ID текущего модератора
async def make_changes_command(message: types.Message):
    global ID
    ID = message.from_user.id
    await bot.send_message(message.from_user.id, 'Привет админ!', reply_markup=admin_kb.button_case_admin)
    await message.delete()


#Начало диалога загрузки нового пункта меню.
async def cm_start(message : types.Message):
    if message.from_user.id == ID:
        await FSMAdmin.photo.set()
        await message.reply('Загрузи фото')


#Выход из состояний.
async def cancel_handler(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        current_state = await state.get_state()
        if current_state is None:
            return
        await state.finish()
        await message.reply('OK')


#Ловаим первый ответ и пишем словарь.
async def load_photo(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        async with state.proxy() as data:
            data['photo'] = message.photo[0].file_id
        await FSMAdmin.next()
        await message.reply('Теперь введи название:')


#Ловим второй ответ.
async def load_name(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        async with state.proxy() as data:
            data['name'] = message.text
        await FSMAdmin.next()
        await message.reply('Введи описание:')


#Ловим третий ответ.
async def load_description(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        async with state.proxy() as data:
            data['description'] = message.text
        await FSMAdmin.next()
        await message.reply('Теперь укажи цену:')


#Ловим последний ответ и используем полученные данные.
async def load_price(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        async with state.proxy() as data:
            data['price'] = float(message.text)
        await FSMAdmin.next()
        await bot.send_message(message.from_user.id, 'Куда сохранить ?', reply_markup=mashine_state.kb_mashine)


async def save_sql(message: types.Message, state: FSMContext):
    if message.from_user.id == ID:
        save = message.text
        if save == "КОМНАТНЫЕ ЦВЕТЫ":
            await message.reply("СОХРАНЕНО В КЦ")
            await sqlite1_db.sql_add_command(state)
            await state.finish()


@dp.callback_query_handler(lambda x: x.data and x.data.startswith('del '))
async def del_callback_run(callback_query: types.CallbackQuery):
    await sqlite1_db.sql_delete_command(callback_query.data.replace('del ', ''))
    await callback_query.answer(text=f'{callback_query.data.replace("del ", "")} удалена.', show_alert=True)


async def delete_item(message: types.Message):
    if message.from_user.id == ID:
        read = await sqlite1_db.sql_read2()
        for ret in read:
            await bot.send_photo(message.from_user.id, ret[0], f'{ret[1]}\nОписание: {ret[2]}\nЦена {ret[-1]}')
            await bot.send_message(message.from_user.id, text='^^^', reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(f'Удалить {ret[1]}', callback_data=f'del {ret[1]}')))


#Регистарация хэндлеров.
def register_handlers_admin(dp : Dispatcher):
    dp.register_message_handler(cm_start, commands=['Загрузить'], state=None)
    dp.register_message_handler(cancel_handler, state='*', commands='отмена')
    dp.register_message_handler(cancel_handler, Text(equals='отмена', ignore_case=True), state='*')
    dp.register_message_handler(load_photo, content_types=['photo'], state=FSMAdmin.photo)
    dp.register_message_handler(load_name, state=FSMAdmin.name)
    dp.register_message_handler(load_description, state=FSMAdmin.description)
    dp.register_message_handler(load_price, state=FSMAdmin.price)
    dp.register_message_handler(make_changes_command, commands=['moderator'], is_chat_admin=True)
    dp.register_message_handler(delete_item, commands='Удалить')

Ответы (0 шт):