Я пытаюсь создать событие MySQL, чтобы в мою базу данных MySQL автоматически добавлялись файлы. По сути, я сейчас использую сервер XAMPP, поэтому все файлы изображений, связанные с моим веб-сайтом / базой данных, находятся в каталоге «C: \ Users \ Mus \ server \ htdocs \ images». Всякий раз, когда я помещаю файл изображения в этот каталог; Мне нужно, чтобы этот файл автоматически загружался в базу данных через событие MySQL, которое я пытаюсь создать. Это означает, что база данных должна постоянно проверять наличие новых файлов с интервалами времени, скажем, 5 секунд, и, если новый файл был добавлен в указанный каталог, автоматически будет создана новая запись для изображения (в указанной таблице) и на в то же время изображение будет загружено в ту же таблицу в базе данных.
Код SQL, который я использовал до сих пор:
CREATE EVENT 'eventnov'
ON SCHEDULE EVERY 5 SECOND
STARTS '2015-10-27 00:00:00'
ENDS '2015-10-28 00:00:00'
DO INSERT INTO 'images_11_nov'
SELECT NOW();
Я понимаю, что строки 5 и 6, вероятно, совершенно неверны, но я попытался исследовать существующие проблемы и не нашел удачи. Я посмотрел на официальная документация MySQL и, к сожалению, я не могу найти ничего, имеющего отношение к моей конкретной проблеме. Я не знаю синтаксиса, чтобы MySQL делал все следующее в одном событии MySQL:
Может ли кто-нибудь помочь мне завершить приведенный выше код для выполнения этих необходимых функций? Если мне нужно предоставить больше информации, пожалуйста, дайте мне знать, и я обязуюсь.
CREATE EVENT 'eventnov'
ON SCHEDULE EVERY 5 SECOND
STARTS '2015-10-27 00:00:00'
ENDS '2015-10-28 00:00:00'
SELECT count(*) 'images_11_nov'
system(ls C:\Users\Mus\server\htdocs\images | wc -l)
system(ls -t | head -1)
DO INSERT INTO 'images_11_nov';
Да, это очень легко. Вы должны сделать следующее задание.
select count(*) table_name;
используйте системную команду в указанном вами каталоге
system(ls C:\Users\Mus\server\htdocs\images | wc -l)
Это даст вам количество файлов, доступных в указанном каталоге.
Теперь сравните это количество со счетчиком базы данных и проверьте, равны они или нет.
Если оно увеличено на 1, запустите простую системную команду, чтобы узнать последний добавленный файл в каталоге.
system(ls -t | head -1)
Вот ls -t перечислит файлы по времени и трубу с голова даст вам имя последнего добавленного файла.
Я надеюсь, что это поможет вам.
С Уважением,
Джаеш Дхандха
Других решений пока нет …