Архив

Архив рубрики «MySQL&»

MySQL поиск и сортировка результатов по релевантности

21 Мар 2013

Таким образом, результаты поиска будут отсортированы по релевантности:

MySQL , ,

MySQL одновременный SELECT и UPDATE при работе с одной таблицей

05 Мар 2012

MySQL не позволит вам сделать выборку данных SELECT из таблицы в тот момент, когда одновременно делается обновление данных UPDATE той же таблицы.
Т.е. нижеприведенный пример – недопустимый:

В такой ситуации нужно использовать связывание таблицы с собой. Присоединяемая таблица будет реализована через временную таблицу, поэтому подзапрос откроет и закроет таблицу до того, как UPDATE откроет её. Таким образом данный запрос будет успешно выполнен:

MySQL , ,

MySQL. Выборка записей в случайном порядке.

03 Фев 2011

В случае, когда из таблицы нужно выбрать записи и при этом отсортировать их случайным образом, крайне не желательно использовать запрос следующего вида:

Нежелательной, с точки зрения производительности, является конструкция
ORDER BY RAND()
В таких случаях более производительным вариантом будет использование следующей хранимой процедуры с последующим запросом:
Читать полностью…

MySQL , ,

MySQL MOD

26 Окт 2010

Очередная ошибка выполнения запроса.

На первый взгляд ничего криминального, но поскольку MySQL не хочет выполнять запрос – возникает подозрение, что mod – зарезервированное слово.
На самом деле MOD – это SQL функция!
MOD(N, M) – возвращает, как и во многих языках программирования, остаток от деления числа N на число M.
Угораздило ж меня назвать так поле таблицы. :)

Ошибка исправляется заключением имени поля в кавычки (те, что на клавише с буквой Ё).

Вот, даже CSS класс, подсвечивающий код, понимает это.

MySQL ,

MySQL DELETE синтаксическая ошибка

08 Июн 2010

Есть ли синтаксическая ошибка в следующем SQL-запросе?

Ошибка есть! Правда, я не сразу понял, в чем дело и почему MySQL не хочет пропускать запрос.

Правильным будет любой из следующих вариантов:

Суть в том, что если используете алиас для таблицы, то его нужно указать после DELETE.

Или можно указать имя таблицы вместо алиаса.

СУБД должна знать из какой таблицы производить удаление.

Более понятна такая логика MySQL будет при использовании JOIN-синтаксиса оператора DELETE, или просто при удалении из нескольких таблиц:

MySQL , , ,