#python #mysql #database #count #row
Вопрос:
У меня есть код на python и таблица, которая добавляет строку и удаляет ее через несколько минут. Мне нужно посмотреть, сколько строк было добавлено с самого начала и до сих пор.
Примечание : У меня в таблице тоже есть первичный ключ. Примечание : COUNT(*)
возвращает только количество строк
Комментарии:
1. Вы, кто дал отрицательную оценку, по крайней мере, придумайте причину, по которой вы это сделали и в чем была проблема
2. Каково ваше определение термина «удалить»?
Ответ №1:
Запросы в MySQL запрашивают только текущее состояние базы данных, поэтому вы не можете использовать простой запрос для подсчета вставленных и удаленных строк. Обычным решением этой проблемы является внедрение механизма архивирования вместо простого удаления.
Поэтому вам придется добавить новый столбец в таблицу, чтобы сохранить тот факт, что строка была заархивирована, и каждый раз, когда вашему приложению придется удалять строку, оно будет обновлять этот столбец вместо этого. Затем простой счетчик(*) подсчитает все вставленные и заархивированные строки.
Вот несколько идей для новой колонки (от самых простых до наиболее полезных для будущей эволюции):
- Имя столбца есть
deleted
, и оно может принимать 2 значения: 0 или 1 (логическое значение) - Имя столбца есть
status
, и оно может принимать 2 значения: «активный» или «архивированный». - Имя столбца
deleted_at
равно нулю, если строка все еще действительна, и содержит дату и время удаления, если строка была заархивирована.
Кроме того, это решение предоставит вашему приложению возможность «разархивировать».