powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос вставки строки в таблицу с условием наличия файла в директории
12 сообщений из 12, страница 1 из 1
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618662
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написал запрос, который вставляет в таблицу БД запись об изображении из результатов парсинга:
Код: sql
1.
INSERT INTO kajio_djcf_images (item_id,type,name,ext,path,caption,ordering,optimized) VALUES ('%Номер объявления%','item','%Номер объявления%'"_1",'jpg','/components/com_djclassifieds/images/item/','%Краткое описание%','2','0');


Как сделать, средством MySQL запроса, так, чтобы запись вставлялась только, если файл %Номер объявления%'"_1",'jpg' (123456789.jpg) существует в определённой директории (например C:/images )?
Немного поясню вопрос.
Есть директория C:/images . В ней файлы картинок вида 123456789.jpg, 123456789_1.jpg, 123456789_2.jpg ... , где 123456789 номер объявления к которому они относятся. Запрос (из шапки), вставляет в таблицу информацию о файле изображения. Картинок к каждому объявлению может быть от 0 до 20.
Вопрос: Как в запросе проверить наличие файла с именем 123456789_n.jpg и, если такого файла нет в указаной директории, запись в таблицу НЕ ДЕЛАТЬ?
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618704
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У MySQL нет средств работы с файловой системой. Выполняйте проверку клиентом, который отправляет на сервер запрос на добавление. Либо пишите свой UDF или используйте сторонний готовый... и будьте готовы к заметному падению производительности. Можно, конечно, использовать LOAD_FILE() , но там куча ограничений и тонкостей...
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618735
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, авторВыполняйте проверку клиентом, который отправляет на сервер запрос на добавление.
Клиент Datacol, в нём и пишу mysql запрос, файлы картинок сначала грузятся на локальную машину (для удаления watermark), а как сделать проверку не могу понять.
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618811
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну работа в Datacol - это тема, немного выходящая за рамки форума по MySQL...
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618862
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что Datacol позволяет делать только MySQL запросы, в чём я не специалист. Поэтому и обратился на этот форум.
В настоящее время я делаю 9 записей в таблице, вне зависимости от того есть файл или нет. Образуются лишние записи.
А можно средствами MySQL запроса создать таблицу с именами файлов в определённой директории?
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618869
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1van26Datacol позволяет делать только MySQL запросыНу тады мои соболезнования...

1van26можно средствами MySQL запроса создать таблицу с именами файлов в определённой директории?Штатных инструментов - нет.
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618876
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, спасибо за помощь и участие! :)
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618949
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробую реализовать другой подход. Создал таблицу f_nanme, в которую при помощи php скрипта заношу все файлы из директории.
Теперь нужен MySQL скрипт, который сравнивает таблицу kajio_djcf_images с f_nanme и если в kajio_djcf имя файла присутствует, а в f_nanme нет - удаляет эту строку.
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39618956
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1van26если в kajio_djcf имя файла присутствует, а в f_nanme нет - удаляет эту строку.
А в чём сложности-то? тривиальный же запрос...
Код: sql
1.
2.
3.
4.
DELETE t1.*
FROM kajio_djcf t1
LEFT JOIN f_nanme t2 ON t1.filename=t2.filename
WHERE t2.filename IS NULL
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39619020
1van26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока вывел список файлов директории
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<?php
$d = dir("components/com_djclassifieds/images/item/");
echo "Дескриптор: " . $d->handle . "<br>";
echo "Путь: " . $d->path . "<br>";
while (false !== ($entry = $d->read())) {
   echo $entry."<br>";
}
$d->close();


как его добавить в базу без расширения .jpg?
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39619227
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
INSERT INTO TABLE (filename) VALUES(TRIM(TRAILING '.jpg' FROM $filename))
...
Рейтинг: 0 / 0
Запрос вставки строки в таблицу с условием наличия файла в директории
    #39619230
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ. На имени типа 123.jpg.jpg - сработает неверно.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос вставки строки в таблицу с условием наличия файла в директории
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]