Задать вопрос
  • Сколько клиентских лицензий CAL необходимо покупать для Windows Server и MS SQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для однопроцессорного сервера с четырьмя ядрами

    На Windows Server:
    Microsoft Windows Server Standard Core 2016 SNGL OLP 2Lic - 4 шт
    Если используются какие-то ресурсы самого сервера (общие диски, принтеры и т.д.):
    Microsoft Windows Server CAL 2016 SNGL OLP NL DvcCAL - по количеству рабочих мест, которые используют ресурсы сервера
    Или
    Microsoft Windows Server CAL 2016 SNGL OLP NL UsrCAL - по количеству пользователей, которые используют ресурсы сервера

    На SQL:
    SQLSvrStdCore 2016 SNGL OLP NL 2Lic CoreLic - 2 шт
    Или
    SQLSvrStd 2016 SNGL OLP NL - 1 шт
    SQLCAL 2016 SNGL OLP NL UsrCAL - 50 шт
    В зависимости от того, что вам выгоднее
    Ответ написан
    2 комментария
  • Как быстро залить большой дамп в mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если файлы баз лежат на томе LVM и допустима кратковременная остановка сервера, то можно остановить MySQL, сделать снапшот тома, снова запустить MySQL и скопировать бинарные файлы со снапшота.
    Ответ написан
  • Ограничение внешних ключей mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Данный внешний ключ означает, что нельзя удалять строки из таблицы `masters` если в таблице `clients` есть соответствующие им записи. Из таблицы `clients` строки можно удалять без ограничений.
    Ответ написан
  • Как выбрать дни рождения?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А нюансов и будет куча. Если, например, сегодня у семи человек дни рождения, какие из них должны попасть в выборку? А если это всё не учитывать, то несложно
    (SELECT *
      FROM `birthday`
      WHERE MONTH(`date`) > MONTH(CURDATE())
        OR (MONTH(`date`) = MONTH(CURDATE()) 
          AND DAYOFMONTH(`date`) = DAYOFMONTH(CURDATE()))
      ORDER BY MONTH(`date`), DAYOFMONTH(`date`)
      LIMIT 3)
    UNION (SELECT *
      FROM `birthday`
      WHERE MONTH(`date`) = MONTH(CURDATE()) 
          AND DAYOFMONTH(`date`) = DAYOFMONTH(CURDATE()))
    UNION (SELECT *
      FROM `birthday`
      WHERE MONTH(`date`) < MONTH(CURDATE())
        OR (MONTH(`date`) = MONTH(CURDATE()) 
          AND DAYOFMONTH(`date`) < DAYOFMONTH(CURDATE()))
      ORDER BY MONTH(`date`) DESC, DAYOFMONTH(`date`) DESC
      LIMIT 3)
    Ответ написан
    8 комментариев
  • Как отнять/прибавить от даты 1 месяц?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Зависит от ответа на вопрос:
    31.01.2017 + 1m = ?
    Ответ написан
    2 комментария
  • Почему не работает POST запросы при отправке через PHP mailer?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $mail->Subject = "Заявка от {$name} {$eemail}";
    Ответ написан
  • Как реализовать звонок с сайта в группу в FreePBX?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Попробуйте
    Channel: Local/900@context/n
    Ну и, соответственно укажите контекст, в котором номер 900 прописан.
    Ответ написан
    Комментировать
  • Где лучше хранить глобальный циклический буфер посещений(посетителей) сайта?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Файлы тут не годятся однозначно, ибо не поддерживают атомарную вставку/удаление строк. Вам придётся полностью блокировать файл на чтение/запись, иначе будут происходить конфликты версий и часть информации потеряется. То же самое и для blob-записи в базе данных.
    Так что оптимальный вариант - стандартная таблица БД с очисткой по крону/триггеру самой БД.
    Ответ написан
    2 комментария
  • Как правильно создать внешний ключ?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Добавить в таблицу `card_patient`:
    FOREIGN KEY (`patient`)
      REFERENCES `patient` (`id_patient`)
      ON DELETE CASCADE
      ON UPDATE CASCADE

    Только учтите, никакой автоматической связи таблиц при SELECT'е не появится, просто MySQL не даст добавить в поле `card_patient`.`patient` значение, отсутствующее в поле `patient`.`id_patient`.
    Ну и, в зависимости от настроек ON DELETE и ON UPDATE можно автоматически удалять и менять `card_patient`.`patient` при удалении/изменении `patient`.`id_patient` или блокировать такое удаление/изменение при существующей связи.
    Ответ написан
    1 комментарий
  • Придумал алгоритм, оцените его верность?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Огорчу. Вы не придумали алгоритм, его придумал Эратосфен, вы же только его реализовали.
    Ответ написан
    2 комментария
  • Есть ли разница между такими SQL запросами?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    EXPLAIN вам в помощь
    Ответ написан
    1 комментарий
  • Как удалить запись после ее обновления?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Таблицу нельзя изменять из триггеров этой же таблицы. Можете попробовать повесить триггер AFTER INSERT на ту таблицу, куда записываются данные и удалять строки временной таблицы оттуда, но это сработает только если есть возможность по вставляемым в постоянную таблицу данным определить удаляемую из временной таблицы строку.
    Ответ написан
    Комментировать
  • Как работают агрегатные функции?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В стандарте при использовании агрегатных функций каждое поле выборки, ORDER BY и HAVING должно быть либо результатом агрегатной функции, либо входить в GROUP BY. Таким образом приведённый вами запрос в стандарте недопустим.
    MySQL, до последней версии, допускал нестандартное использование агрегирования, выбирая для неагрегированых полей первое попавшееся значение. Начиная с версии 5.7 MySQL начал требовать соблюдения стандарта, и приведённый вами запрос выдаст ошибку. Вернуться к старым настройкам можно отключив режим ONLY_FULL_GROUP_BY в настройках или явно используя агрегатную функцию ANY_VALUE() на полях, которые раньше не агрегировались. Ваш запрос в этом случае будет выглядеть как
    SELECT ANY_VALUE(`id`), ANY_VALUE(`name`), ANY_VALUE(`age`), COUNT(*) 
      FROM `student`;

    Поскольку в запросе не указано, по каким полям проводить группировку, MySQL группирует все строки в одну. Если использовать GROUP BY <список полей>, то будут группироваться строки с одинаковыми значениями указанных в списке полей. Так запрос
    SELECT `age`, COUNT(*) 
      FROM `student`
      GROUP BY `age`;

    выдаст
    +------+----------+
    | age  | COUNT(*) |
    +------+----------+
    |  18  |    2     |
    |  17  |    1     |
    | NULL |    1     |
    +------+----------+
    Ответ написан
    Комментировать
  • Где взять uuid для yandex api?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    RTFM
    Что такое UUID и как его получить?
    UUID (Universally Unique Identifier) — это универсальный идентификатор пользователя. Должен быть уникальным для каждого пользователя или устройства.
    Разработчик самостоятельно формирует идентификатор случайным образом. Для наших API нужно передавать его в виде строки из 32‑х цифр (без дефисов) в шестнадцатеричной системе счисления.
    Ответ написан
  • Почему LOCK TABLES WRITE блокирует так же и чтение?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что до окончания изменений данные могут оказаться некорректными, таблицу ведь не зря заблокировали.
    Ответ написан
    Комментировать
  • Массив uint8_t [8] на переменную uint64_t?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    union {
      uint8_t  u8[8];
      uint64_t u64;
    } var;

    Или
    uint8_t var[8];
    *((uint64_t *)var);

    Или
    uint64_t var;
    ((uint_8 *)&var)[0];
    ((uint_8 *)&var)[7];
    Ответ написан
    5 комментариев
  • Данные не заносятся в БД, в чём проблема??

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ваша лень. Посмотрите логи сервера на предмет ошибок. Прочтите документацию на mysqli_ и откройте для себя mysqli_error
    Ответ написан
    Комментировать
  • Как устроены хэш-таблицы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Открытая и закрытая адресации (в терминах данной статьи) отличаются поведением в случае коллизии, то есть добавления в хэш-таблицу записи с уже имеющимся в ней хэшем.
    При открытой адресации будет создан динамический список, голова которого находится в соответствующей ячейке хэш-таблицы, а элементами будут хэшируемые данные (или указатели на них).
    При закрытой - будет попытка найти слева (или справа, в зависимости от реализации) от уже занятой ячейки свободную, в которую будет записан хэш и хэшируемые данные.

    Очевидно, что открытый вариант несколько более сложен в реализации, но при этом гораздо более гибок и хорошо расширяем. Достоинством является то, что получив хэш простым перебором списка мы можем получить все значения, с таким хэшем.
    Закрытый вариант имеет фиксированное потребление памяти и более простую реализацию, но при многочисленных коллизиях даёт низкую эффективность, поскольку надо перебирать ячейки в поисках значений с нужным хэшем.
    Ответ написан
  • [ajax] Почему POST-запрос не доходит до php файла?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Консоль разработчика в браузере показывает отправку запроса? Параметры в нём верные? Лог вебсервера показывает поступление запроса? Лог ошибок вебсервера не показывает ошибок в скрипте?
    Ответ написан
  • Не могу добавить строки в БД. Что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Первая ошибка - выбор библиотеки mysql_, которая не рекомендована к использованию начиная с PHP 5.5 и не поддерживается, начиная с PHP 7.0.

    Вторая ошибка - прямая подстановка параметров в запрос, даже без экранирования.

    Ну и третья, главная ошибка - нежелание читать документацию. А там описана функция mysql_error(), возвращающая текст ошибки в последней операции mysql_.
    Ответ написан
    Комментировать