Спрятать колонку

Sql. Индусы

очередной проект и очередные веселые индусы.
хранимка вычитывает данные из таблицы (простой селект и больше ничего). в хранимку передается параметр, идентификатор первичного ключа и, в зависимости от того передается ли null вычитывается все или одна запись. реализация феерична

....
@query = 'select * from table';
IF in_param_id IS NOT NULL THEN
   @query = CONCAT(@query, ' where param_id = ', in_param_id);
END IF;
 
prepare stmt FROM @query;
EXECUTE stmt;
deallocate prepare stmt;
....

главное пробел не потерять Laughing out loud

Mysql. Задача на рандомизацию

попалась занятная задачка:
форум, посты, даты постов нужно сделать случайными, но нужно сохранить порядок ответов в ветке.

идея решения проста. приведу пример:

t1, t2, t3 - время, когда были сделаны три поста (посты подряд идущие и необязательно из одной ветки)

t1 - 0
t2 - N
t3 - 2 * N

где N у нас время на которое мы раздвинем посты, возьмем сутки: 60 * 60 * 24
теперь видно, что вокруг поста t2 образовался зазор во времени равный плюс/минус N (одним суткам). и следовательно, можно можно добавить случайное числов рамках от -N... +N. вот такой получается запрос

Mysql. Best Practices

Данная статья предназначена больше для начинающих разработчиков, желающих объять необъятное. Далее я расскажу что, на мой взгляд, необходимо знать начинающему разработчику на mysql. Большинство данных советов, с некоторыми вариациями, будут верны и для других баз данных, так как носят общерекомендательный характер.

1. Всем и всегда первый совет: больше читайте книг, а еще больше документации.

К примеру, вопрос: "Можно ли в одном запросе выполнить несколько вставок?" Решается простым обращением к документации по mySql, где написано - можно и, порой, даже нужно. Чем полезно чтение я уже писал.

2. Оформление.

Следите за оформлением своего кода и за именованием. Всегда есть вероятность, что вам придется вернуться к этому запросу через месяц, и будет очень неприятно, если вы потратите лишние полчаса, чтобы вспомнить - "что это тут такое было?!". Помните, что после вас код будут поддерживать и дорабатывать.

>> Читать далее
RSS-материал

Наверх