Посмотрите, сколько строк было добавлено в MySQL с самого начала и до настоящего времени (даже удаленные строки).

#python #mysql #database #count #row

Вопрос:

У меня есть код на python и таблица, которая добавляет строку и удаляет ее через несколько минут. Мне нужно посмотреть, сколько строк было добавлено с самого начала и до сих пор.

Примечание : У меня в таблице тоже есть первичный ключ. Примечание : COUNT(*) возвращает только количество строк

Комментарии:

1. Вы, кто дал отрицательную оценку, по крайней мере, придумайте причину, по которой вы это сделали и в чем была проблема

2. Каково ваше определение термина «удалить»?

Ответ №1:

Запросы в MySQL запрашивают только текущее состояние базы данных, поэтому вы не можете использовать простой запрос для подсчета вставленных и удаленных строк. Обычным решением этой проблемы является внедрение механизма архивирования вместо простого удаления.

Поэтому вам придется добавить новый столбец в таблицу, чтобы сохранить тот факт, что строка была заархивирована, и каждый раз, когда вашему приложению придется удалять строку, оно будет обновлять этот столбец вместо этого. Затем простой счетчик(*) подсчитает все вставленные и заархивированные строки.

Вот несколько идей для новой колонки (от самых простых до наиболее полезных для будущей эволюции):

  • Имя столбца есть deleted , и оно может принимать 2 значения: 0 или 1 (логическое значение)
  • Имя столбца есть status , и оно может принимать 2 значения: «активный» или «архивированный».
  • Имя столбца deleted_at равно нулю, если строка все еще действительна, и содержит дату и время удаления, если строка была заархивирована.

Кроме того, это решение предоставит вашему приложению возможность «разархивировать».