Запрос с условием IF в MySQL..

Синтаксис:

IF(выражение, значение если true, значение если false)

Например:

Возвратит act=1 если текущий момент времени между timefrom и timeto, а так-же futu=1 если timefrom>=now()

FreeBSD сброс пароля root к MySQL

1. Останавливаем службу MySQL:

/usr/local/etc/rc.d # ./mysql-server stop

2. Запускаем службу с опцией —skip-grant-tables

mysqld_safe —skip-grant-tables &

3. Подключаемся с серверу MySQL при помощи клиента mysql:

mysql -u root
4. Вводим новый пароль для root:

mysql> use mysql;
mysql> update user set password=PASSWORD(«NEW-ROOT-PASSWORD») where User=’root’;
mysql> flush privileges;
mysql> quit

5. Останавливаем сервер MySQL:

/etc/init.d/mysql stop
6.Запускаем MySQL-сервер и логинимся с новым паролем:

/usr/local/etc/rc.d # ./mysql-server start
mysql -u root -p

Коварный UNION..

Иной раз не знаешь где затупишь. Казалось бы простой запрос с использованием UNION, а потратил кучу времени, чтобы выяснить, почему он иногда не корректно отрабатывает.

Было:

Стало:

В чем соль? Оператор UNION без опции ALL оказывается обладает свойствами группировки одинаковых значений в запросе. Например у меня, при одинаковых одновременных значениях даты и суммы происходила группировка этих строчек в одну…

MySQL в консоли. Шпаргалка

Важно! Обязателен разделитель команд ;

Сортировка в MySQL кириллицы utf8-general-ci

загруженное (1)Дано: MySQL 5.1.72, таблицы созданные в utf8-general-ci, установка соединения вызывается следующей функцией:

И хоть ты тресни, запрос вида:

Сортировался по непонятно каким критериям. Потеряв на поиск причины  несколько часов, перепробовав кучу «рецептов», пришлось заворачивать сортировку запросов в команду binary(), т.е. вот так:

Костыль конечно.. И сортирует различая большие и маленькие буквы. Но таки лучше так чем никак. Ищу лучшее решение.

1 10 11 12 13