update data set size = (select sum(size) from data as data2 where data2.file > (data.file || '/') AND data2.file < (data.file || '0') AND size is not null) where size is null
магия во второй строчке работает по индексу в отличие от:
PHP код:
data2.file LIKE (data.file || '/%')
таблица data, file-полный путь(прямые слеши), у папок size~null, после запроса size устанавливается в сумму всех вложенных файлов
Последний раз редактировалось Pyro, 18.08.2011 в 18:37.