• Как данные из одной таблицы sqlite3 передавать в другую?

    @rPman
    существует sql запрос insert or replace, который обновляет запись в указанной таблице по условию, но если условие выдает пустой список - создает запись

    Но я настоятельно рекомендую для упрощения кода исключить ситуацию, когда в обновляемой таблице нет нужных записей, в момент, когда в твоей базе появляется поддержка нового токена, добавлять в эту таблицу запись о нем с нулевым объемом. В этом случае хватит простого update mytable set amount=amount+? where cryptoname=?

    И еще, настоятельно рекомендую, для финансовых приложений, сохранять в виде записей в таблице любые операции над балансами, как машиночитаемый лог, сохранит тебе нервы и деньги в будущем
    Ответ написан
    Комментировать
  • Как данные из одной таблицы sqlite3 передавать в другую?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Извините конечно, но текущая реализация - чудовищная. Как минимум хранить числовые значения в виде текста - максимально неверный подход (для количества integer, для денежных значений - decimal)
    Чуть более верная структура*:

    Coin:
    • Coin_id:int PK
    • Name:char

    User:
    • User_id:int PK
    • ...

    Flow:
    • Id:int PK
    • Date:datetime
    • Amoung:int
    • Price:decimal
    • Coin_id:int FK->Coin
    • User_id:int FK->User

    Как считать? Делаете выборку по ключу монеты с применением sum() к Flow.amoung.
    * - в зависимости от подробного, ТЗ реализация может отличаться. Здесь лишь приведена абстрактная схема, составленная по вашему общему описанию и с учётом минимальных норм нормализации.
    Ответ написан
    2 комментария