Задать вопрос
  • Check the manual that corresponds to your MySQL server version?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Во-первых, не нужно использовать конкатенацию, нужно использовать подготовленные выражения.
    Во-вторых, точно не нужно использовать конкатенацию.
    В-третьих, значение телефона (и даты) нужно взять в кавычки, как всё остальное. Убедиться, что это решает проблему, а потом переписать на подготовленные выражения.
    Ответ написан
    2 комментария
  • Как удалить строку из одной таблицы и добавить эту же строку в другую таблицу?

    @alexalexes
    Вот такие проектировщики плодят кучу таблиц под одну сущность.
    Яркий пример, под каждый год отчетности создают таблицы <название_таблицы>_<год_отчетности>.
    Не надо так, пожалуйста.
    В вашем случае, ситуация ровно таже самая.
    Добавьте в существующий статус задачи еще одно значение - "Архивный", либо создайте отдельный атрибут под этот признак. И, обязательно, проиндексируйте его.
    В бизнес-логике очень легко отсеять записи с неподходящим статусом.
    Если не хотите, чтобы бизнес-логика видела ненужные записи, делайте для нее свое view.
    Есть, конечно, случай, когда таблица становится очень большой, и нужно облегчить накладные расходы по ее хранению, то в этом случае настраивают партиции таблицы. Но это тонкое администрирование.
    PS: Если задача требует переноса данных в один присест и это не ошибка проектирования архитектуры, то это выполняется как любое неэлементарное действие с помощью транзакций в процедурном режиме выполнения SQL:
    - открываем транзакцию;
    - делаем insert с select;
    - делаем delete;
    - закрываем транзакцию.
    Только имейте ввиду, что в транзакции не должны прогонятся длинные выборки ни в insert-е, ни в delete. Это влияет на время блокировки таблиц, и сильно затратно по производительности, так как существенно перестраиваются индексы. Нужно аккуратно использовать такие процедуры (по правилу: "семь раз селекть, один раз делеть"), иначе получите залочивание на длительный период.
    Ответ написан
    Комментировать
  • Есть ли в VBA что то похожее на списки python?

    Krasnoarmeec
    @Krasnoarmeec
    Тяжело, наверное умному и красивому, когда в Гугле забанили?
    Вторая ссылка ведёт на Excel VBA Dictionary – A Complete Guide. Со списками - тоже самое - ищите и обрящете.
    Ответ написан
    Комментировать
  • SQL сумма продажи за день?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT DATE(payment_date) AS `date`, SUM(amount) AS income
      FROM payment
      WHERE payment_date >= '2005-07-01' AND payment_date < '2005-08-01'
      GROUP BY `date`
    Ответ написан
    4 комментария
  • SQL сумма продажи за день?

    @alexalexes
    В зависимости от диалекта SQL нужно округлить дату до дней или выделить только дату без времени, чтобы правильно сгруппировать сумму.
    Например, с помощью trunc так это делается в Oracle:
    select trunc(payment_date) as p_date, sum(amount) as daily_income 
    
     from payment
    
     where extract(month from payment_date) = 7
         and extract(year from payment_date) = 2005 -- про extract - тоже нужно смотреть, как это принято в конкретном диалекте SQL
    
    group by  trunc(payment_date)
    order by p_date desc
    Ответ написан
    Комментировать
  • MsSQL ошибка при создание лога транзакций?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Проблема в том, что вы не гуглите ошибку, которая говорит, что у вас нет правильного FULL BACKUP.
    И там-же в гугле есть инфа - как это сделать.
    Ответ написан
    Комментировать
  • Как в php получить Последнее значение из таблицы mysql определенной даты даты?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Выносить имя таблицы и колонки в переменные не нужно. Их надо написать прямо в запросе.
    А дату надо подставлять в запрос через подготовленные выражения.

    Если в БД хранится только дата, то чтобы получить все строки за определённую дату, код будет такой.
    $sql = "SELECT * FROM название таблицы WHERE  DATE = ?";
    $result = $conn->execute_query($sql, [$dateNew]);
    $usersArray = $result->fetch_all(MYSQLI_ASSOC);

    Если же хранится дата и время, то надо подставить начальный и конечный период. То есть запрос будет

    SELECT * FROM название таблицы WHERE  DATE BETWEEN ? AND ?

    и в него подставлять значения "$dateNew 00:00:00" и "$dateNew 23:23:59"

    Чтобы получить одну запись, надо добавить в запрос оператор LIMIT 1, а fetch_all(MYSQLI_ASSOC) поменять на fetch_assoc()
    Чтобы получить "последнюю" запись, надо добавить в запрос сортировку по тому полю, по которому считается последовательность добавления. И сделать сортировку в обратном порядке
    Ответ написан
    1 комментарий
  • Как соединить 3 роутера в одну локальную сеть?

    @Drno
    РОутеры перевести в режим свитча, отключить на них NAT и DHCP
    Задать роутерам IP из локальной подсети 1го роутера
    приходящий кабель вместо WAN воткнуть в LAN порт (2го и3го ) роутеров
    всё, будет 1 общая сеть
    Ответ написан
    4 комментария
  • Как избежать race condition при вставки новой записи в бд SQL, PHP?

    Создайте в таблице какой-то уникальный индекс, основанный на ваших данных, и второй раз одни и те же данные просто не получится вставить.
    Ответ написан
    2 комментария
  • Как узнать ip-адрес роутера который работает в режиме точки доступа?

    @SunTechnik
    В общем случае - никак. Так как в режиме точки доступа ip адрес роутера может быть вообще из другой подсети.
    В этом случае - только через сброс настроек.

    В частных случаях:
    Если он получает адрес по dhcp: то будет виден на dhcp сервере.
    Если адрес статический - поможет сканирование адресов сети...
    Ответ написан
    Комментировать
  • Какой роутер выбрать для двух активных провайдеров?

    CityCat4
    @CityCat4 Куратор тега Сетевое оборудование
    Дома с переломом ноги
    Вариант, однозначно рабочий - микротик. Не знаю правда как с бюджетом - у всех свои понятия :)
    Вариант, условно рабочий и предполагающий много знания и много траха - openwrt. Берется роутер, поддерживающий openwrt, туда шьется он соответтственно и настраивается.
    Ответ написан
    9 комментариев
  • Резко снизилась скорость сети через VPS, что может быть?

    @brar
    Скорость измеряете через туннель или через дикий интернет? Через туннель в нынешних условиях, когда ТСПУ шагают по стране, измерять скорость - не прольёт свет. Также ТСПУ может "вкурить", что трафик от Вас сугубо для обхода блокировок и поставил ваш IP в гео-клетку и теперь вы качественный туннель не построите ни по одному протоколу.
    Если проблема существует и при тестировании с других каналов, то опять же ТСПУ могло занести хостера в черный список.
    Помимо этого возможно банальная проблема с динамическими маршрутами у провайдеров/вышестоящих провайдеров. Обычно максимум за день её исправляют.
    Ответ написан
    Комментировать
  • Отслеживается ли логирование вкл/выкл ПК по-умолчанию?

    @NortheR73
    системный инженер
    1. В журнале System события Kernel-General 13 (выключение) и Kernel-General 12 (включение). В событии указано соответствующее время (GMT)
    2. В журнале System события EventLog 6006 (Служба журнала событий остановлена.) и EventLog 6005 (Запущена служба журнала событий.)
    Ответ написан
    1 комментарий
  • Lan тестер в активное оборудование? Можно ли прозванивать потенциально активные элементы сети?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    В общем случае, все должно быть в порядке, если это именно ethernet сеть.

    Если же кабель использует телефонная станция, то можно или спалить порт станции или спалить тестер.
    Ответ написан
    Комментировать
  • Lan тестер в активное оборудование? Можно ли прозванивать потенциально активные элементы сети?

    @SunTechnik
    Надо читать инструкцию к конкретному тестеру.

    Модели и режим работы отличаются.

    И если есть оборудование с PoE, то можно и тестер убить...
    Ответ написан
    2 комментария
  • Выбор максимального значения за период и timestamp этого значения. Ошибка sql_mode=only_full_group_by?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT player_count, `timestamp`
      FROM steam_stats
      WHERE `timestamp` >= TIMESTAMP('2024-07-01')
        AND `timestamp` < TIMESTAMP('2024-08-01')
      ORDER BY player_count DESC
      LIMIT 1
    Ответ написан
    Комментировать
  • Почему в RouterOS после обновления под admin'ом не могу открыть terminal?

    @YunSergey
    Здравствуйте.
    1. Нельзя;
    2.Нельзя.
    В микротике нет встроенной группы admin, группу admin создал пользователь system, который вас туда же и поместил.
    Кстати этот пользователь заходил на микротик за 5 часов до вас.
    В вашем случае возможно хорошим вариантом будет сделать экспорт конфигурации и бекап. Выполнить сброс устройства, загрузить экспорт (внимание, при экспорте не сохраняются сертификаты и некоторые пароли). Если вдруг не смогли корректно восстановиться из экспорта конфигурации, восстановитесь с сделанного бэкапа (он восстановит настройки полностью, в том числе с записью system).
    А вообще точно подумайте, что это за пользователь system, случайно не какой-то старший администратор вашей компании?
    P.S. Почитайте про бекапы и экспорты/импорты конфигурации на микротик, все в один пост не вместить.
    Ответ написан
    Комментировать
  • Не могу вывести данные из бд по диапазону даты?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Логично.
    2024 - 09 - 01 = 2014
    2024 - 10 - 01 = 2013
    Не изучайте PHP по материалам позапрошлого десятилетия. Пишите нормально, с использованием подготовленных выражений и плейсхолдеров, и будет вам счастье.
    Ответ написан
    3 комментария