как perl скриптом под windows обойти папку с подпапками,вычислить md5 найденных файлов и отметить в базе mysql при совпадении по md5 в соответствующем поле ?
Примечание:
запросы к базе такие:
USE database;
OPTIMIZE TABLE `table1`, `table2`;
UPDATE table1 SET Local=NULL;
DROP TABLE IF EXISTS `table3`;
CREATE TABLE table3 (
id int(15) UNSIGNED NOT NULL AUTO_INCREMENT,
md5 char(32) NOT NULL, PRIMARY KEY (id)
) ENGINE MyISAM DEFAULT CHARSET utf8;
ALTER TABLE `table3` ADD UNIQUE (`md5`);
INSERT INTO table3 VALUES (NULL, '00000000000000000000000000000000');
INSERT INTO table3 VALUES (NULL, '12345678901234567890123456789012');
UPDATE table1, local SET table1.Local=0 WHERE table1.MD5=table3.md5;
Примечание:
rojer, table3 возникла в процессе, без неё конечно можно обойтись, тем более что последний UPDATE очень не производительный.
"просто насобирать локальных md5, а потом сделать UPDATE table1 SET Local = 0 WHERE md5 IN (...)" - это наиболее оптимальное решение.
Примечание:
совсем забыл, table1 периодически обновляется и данные в поле Local пропадают.
поэтому целесообразнее скрипт делить на две части, и заполнение Local проводить после каждого обновления...
Примечание:
спасибо большое !!!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.