Ответы пользователя по тегу SQL
  • Почему не работает DISTINCT?

    toxa82
    @toxa82
    DISTINCT распространяется на все столбцы указанные в SELECT, а у тебя id не повторяется. Используй GROUP BY по нужным тебе столбцам.
    Ответ написан
  • Как добавить строку в таблицу, учитывая id из другой таблицы?

    toxa82
    @toxa82
    Это будет обычный INSERT только вы сами должны в данных подставить нужный user_id. Проверка целостности данных можно сделать с помощью внешних ключей таблицы, тогда БД не даст создать запись с несуществующим user_id в таблице user
    Ответ написан
    Комментировать
  • Что не так с SQL запросом?

    toxa82
    @toxa82
    У вас скорее всего ошибка с приоритетами в WHERE и ваш второй вариант равен
    select * from `catalog` where (status = 1 and description LIKE '%ADVISE AND AUDIT%') OR title LIKE '%ADVISE AND AUDIT%' OR domain LIKE '%ADVISE AND AUDIT%'

    и поэтому `status` учитывается только с полем `description`, а `title` и `domain` выбираются с любым статусом
    Ответ написан
    Комментировать
  • Для чего пишут LIMIT в UPDATE?

    toxa82
    @toxa82
    Например у нас миллионы строк в таблице которым нужно изменить флаг, чтоб не делать это одним запросом который заблокирует всю таблицу, делается бесконечный цикл с условием что изменены > 0 строк и с помощью лимита ограничивается кол-во строк для апдэйта. Так флаг меняется небольшими пачками (100, 500, 1000 строк), которые выполняются быстрее и не блокируют всю таблицу, что позволяет избежать deadlock'и.
    Ответ написан
    Комментировать
  • Почему стала появлятся такая ошибка

    toxa82
    @toxa82
    Похоже что, сервер перестал видеть ";" как разделитель запросов. Может у вас где-то в коде используется DELIMITER и забыли вернуть обратно ";"?
    Также можно переписать в один запрос:
    INSERT IGNORE INTO `tags_list` (`word`) VALUES ('рыба'), ('мясо'), ('птица');
    Ответ написан
    1 комментарий