За последние 24 часа нас посетил 22891 программист и 1222 робота. Сейчас ищут 714 программистов ...

Очистка таблицы Mysql

Тема в разделе "PHP для новичков", создана пользователем staxbel, 16 авг 2022.

  1. staxbel

    staxbel Активный пользователь

    С нами с:
    23 май 2016
    Сообщения:
    17
    Симпатии:
    0
    Добрый день. Есть таблица, заполняется каждые 15 минут, и часто данные в нее приходят 0.0. Подскажите, как можно запуская скрипт удалять строки в которых все данные кроме id и data = 0.0? Примного благодарен.
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    Может не допускать запись данных если не подходит? А так обычный запрос
    Код (Text):
    1.  Delete from table where ваше_условие
     
  3. staxbel

    staxbel Активный пользователь

    С нами с:
    23 май 2016
    Сообщения:
    17
    Симпатии:
    0
    Я с mysql не очень :-( пробую делать, но удаляются все строки где есть 0.0, а мне нужно, чтобы удалялись строки где все столбцы имеют значение 0.0
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    какие столбцы.. какие строки?
    В БД - таблицы,
    структура таблицы состоит из полей
    заполняется таблица записями

    1. Еще раз повторюсь... может не стоит записывать те данные на этапе записи таблицы, которые не походят вам? Типа - если поле такое-то = 0, то не записываем иначе записываем?

    2. Приведите конкретно структуру таблицы - какие поля и каких типов? И при каком условии нужно удалять записи - не "...все столбцы.", а конкретно перечислите.
     
  5. staxbel

    staxbel Активный пользователь

    С нами с:
    23 май 2016
    Сообщения:
    17
    Симпатии:
    0
    Не записывать эти данные не в моей власти :) сторонняя программа это делает, я же для себя хочу сделать автоматическую очистку.

    Структура таблицы такая: id / date / silos17 / silos18 / silos19. Удалить строку нужно только при условии, что в silos17,silos18 и silos19 значения будут 0.0
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Раз пишутся даже такие данные, возможно, они для чего-то нужны. Их можно отфильтровывать при просмотре.

    Если с нулем одновременно во всех полях, используйте AND между сравнениями. Если достаточно хотя бы одного нуля, используйте OR.
     
  7. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.823
    Симпатии:
    736
    Адрес:
    Татарстан
    Код (Text):
    1. Delete from table where (slots17=0) && (slots18=0) && (slots19=0)
    конечно наличие одинаковых полей с разным индексом - slots1 ...slots19 наводит на мысль о непонимании что такое БД... для чего таблицы и связи