Архив Октябрь, 2008
MySQL. Проверка валидности даты
Если в MySQL сделать следующий запрос:
select date(”2008-02-31″);
умный MySQL вернет в результате запроса NULL, ну логично, что в феврале месяце в 2008 году не было 31 дня, да и 30 собственно тоже не было, а вот если написать
select date(”2008-02-29″);
то в ответе получим значение отличное от NULL, а именно эту же дату, что и будет доказательством её валидности и существования.
P.S. Не знаю как в ранних версиях с наличием такой фичи, но в 5.0.24 она есть и иногда бывает очень даже полезной
3 комментариевMySQL. Удаление записей с несуществующей ссылкой
Предположим у нас есть 2 таблички - ПАПКИ (folders) и ФАЙЛЫ (files). У файлов есть ссылка на айдишку папки, в которой они распологаются. Предположим, что по неосторожности мы удалили несколько ненужных нам папок, но забыли удалить файлы, которые лежали в этих папках. Итак, для того, что бы удалить файлы, у которых ссылка на несуществующую папку, выполняем запрос:
delete from files
where
folder_id not in (select folder_id from folders) and folder_id <> -1
В этом примере так же учтена корневая папка (-1).
5 комментариев