Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
unitby

Игорь

  • 51
    вклад
  • 0
    вопросов
  • 87
    ответов
  • 32%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Откуда возникает такая ошибка?

    unitby
    Игорь @unitby
    В таблице срабатывает триггер, который должен вызывать функцию транслитерации _fs_transliterate , но ее почему-то в базе нету. Ибо плохо перенесли.
    Сделайте по новой дамп, не забудьте туда хранимые процедуры вписать. И права конечно проверьте, чтобы были на создание и вызов этих самых процедур
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как реализуется задержка между добавлением комментариев?

    unitby
    Игорь @unitby
    ставьте отметку в сессии, для умников проверяйте еще в базе (в сессии нуна чтоб меньше нагрузка на базу была)
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Каким образом сайты наподобии 2ipc.om.ua вычисляют локльный IP ПК за NAT и Firewall?

    unitby
    Игорь @unitby
    Отключите javascript.
    Приведенный Вами сайт вычисляет через webrtc
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как массово удалить из mysql базы строки?

    unitby
    Игорь @unitby
    А звездочка в DELETE зачем? Там же просто DELETE FROM TABLE
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какие библиотеки для Android довели вас до слёз радости?

    unitby
    Игорь @unitby
    rxjava наше всё. но думаю вы и так об этом уже знаете
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Изменил пароль пользователя для доступа к базе. Как исправить ошибку на сайте?

    unitby
    Игорь @unitby
    так на сайте сменить тоже. пишет же что пароль неверный в конфиге
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сделать систему тегов??

    unitby
    Игорь @unitby
    делаете еще таблицу с тэгами.
    а потом таблицу многое-ко-многому которая свяжет таблицу со статьями с таблицей с тэгами
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как обработать результат mysqli запроса?

    unitby
    Игорь @unitby
    выведите $result через var_dump($result);

    ну и потом
    $row = $result->fetch_row();
    echo $row[0];

    или

    echo mysql_result($result, 0);

    смотря что вы там юзаете
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сделать выборку из БД делая объединение с разными таблицами в зависимости от значения поля?

    unitby
    Игорь @unitby
    Поля (колво и по типу) в обоих таблицах одинаковы?
    Если да и разделение таблиц все же необходимо, то два запроса и union результата
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Как связать две таблицы?

    unitby
    Игорь @unitby
    В таб 2 company заменить на company_id. Если innodb то можете указать как внешний ключ
    При добавлении человека указывается id компании помимо остальных данных

    В выборке юзать join. Ссылку Вам привели ссылку где почитать.
    Получиться чтото:
    select name_human, name_company from humans join companys on human.company_id = companys.id
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как лучше реализовать получение данных API через 3 разных источника?

    unitby
    Игорь @unitby
    rxjava для облегчения написания

    А сортировать не обязательно в базе
    Ответ написан более трёх лет назад
    12 комментариев
    12 комментариев
  • Как сделать INSERT в две таблицы?

    unitby
    Игорь @unitby
    Сделайте два запроса в одной транзакции, в чем проблема?
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Пара вопросов по настройке mysql?

    unitby
    Игорь @unitby
    SHOW GLOBAL VARIABLES;
    SHOW VARIABLES;

    Если что не настраивали, то сможете посмотреть там текущие значение.

    и немного про настройку https://habrahabr.ru/post/66684/
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как лучше формировать запросы SQL?

    unitby
    Игорь @unitby
    Воспользоваться каким нить query builder (а его нагуглить, к примеру вот этот https://github.com/cyborgg4655/MySQLiQueryBuilder )
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • MySQL 5.7 и SELECT DISTINCT JSON для каждого аттрибута?

    unitby
    Игорь @unitby
    LIMIT 1?

    UPDATE:
    Сделать можно встроенной процедурой:
    DELIMITER $$
    DROP PROCEDURE IF EXISTS extract_params;
    CREATE PROCEDURE extract_params()
    BEGIN
    DECLARE exit_flag INT DEFAULT 0;
    DECLARE j JSON;
    DECLARE i INT;
    DECLARE q VARCHAR(255);
    DECLARE t VARCHAR(255);
    DECLARE c CURSOR FOR
    SELECT CAST(jdoc->'$."name"' AS JSON) FROM t1;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET exit_flag = 1;
    DROP TEMPORARY TABLE IF EXISTS tmp_123;
    CREATE TEMPORARY TABLE IF NOT EXISTS tmp_123 (jsn VARCHAR(255)) ENGINE=MEMORY;
    OPEN c;
    fetch_loop: LOOP
    FETCH c INTO j;
    IF exit_flag THEN LEAVE fetch_loop; END IF;
    IF JSON_TYPE(j) = 'ARRAY' THEN
    SET i = JSON_LENGTH(j);
    WHILE i > 0 DO
    SET i = i - 1;
    SET q = CONCAT('$[',i,']');
    SET t = JSON_UNQUOTE(JSON_EXTRACT(j, q));
    INSERT INTO tmp_123 VALUES(t);
    END WHILE;
    END IF;
    END LOOP;
    CLOSE c;
    SELECT DISTINCT(jsn) FROM tmp_123;
    END$$
    Ответ написан более трёх лет назад
    11 комментариев
    11 комментариев
  • Как сделать возможность бесконечнй вложенности категорий?

    unitby
    Игорь @unitby
    Ну так обычная древовидная структура.
    Необходимый минимум: id и parent_id. Если категория не имеет родителя, то parent_id делайте либо 0 либо null (выбор будет влиять на запросы с count())
    Для ускорения запросов возможно понадобиться еще root_id (самый верхний предок), все зависит от задач
    Как делать выборку можно почитать к примеру тут: https://habrahabr.ru/post/193166/ ситуация похожая
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Альтернатива Union All?

    unitby
    Игорь @unitby
    Сори конечно, но может Вам стоит пересмотреть архитектуру? Возможно чтото не так в ней?
    Ответ написан более трёх лет назад
    8 комментариев
    8 комментариев
  • Как вывести список общих друзей?

    unitby
    Игорь @unitby
    Если совсем не оптимизировано то вот так как пример:
    select * from users where id in (
    select f1 from (
    select friends.friend1 as f1 from friends where friends.friend2 = 1
    UNION ALL
    select friends.friend2 from friends where friends.friend1 = 1) as s1
    where f1 in (
    select friends.friend1 from friends where friends.friend2 = 49519
    UNION ALL
    select friends.friend2 from friends where friends.friend1 = 49519
    ) )


    Если нужно оптимизировано, то покрутить explain
    Ответ написан более трёх лет назад
    9 комментариев
    9 комментариев
  • Что произойдет при одновременном удалении таблицы в MySQL?

    unitby
    Игорь @unitby
    Таблицы лочатся. Так что одновременно оно все равно не сработает.
    Как и что лочится, зависит от типа движка.
    Ну и еще можно самому принудительно лочить если нужно LOCK TABLES/UNLOCK TABLES
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сделать уникальный ИД для заказа?

    unitby
    Игорь @unitby
    Делаете две таблицы. Одну с заказами, вторую с содержанием заказов.
    Первый запрос добавляете новый заказ.
    Затем получаете последний добавленный id (LAST_INSERT_ID())
    Дальше добавляете все позиции. Желательно одним запросом через запятую
    INSERT INTO order_items (id, order_id, ...) VALUES (null, 1, ...),(null,1,...),...

    Ну и еще все это дело в transaction можете обернуть. Либо кильнуть order если insert итемов дал ошибку
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • Следующие →
Самые активные сегодня
  • Drno
    • 6 ответов
    • 0 вопросов
  • Justa Gain
    • 5 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 5 ответов
    • 0 вопросов
  • scoffs
    Семён Окулов
    • 5 ответов
    • 0 вопросов
  • Debian KDE
    • 2 ответа
    • 2 вопроса
  • delphinpro
    Сергей delphinpro
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации