DROP PROCEDURE update_id_in_files; DELIMITER // CREATE PROCEDURE update_id_in_files() BEGIN DECLARE count_video int; SELECT COUNT(*) INTO count_video FROM videos; WHILE count_video > 0 DO UPDATE video_files SET video_id = ( SELECT id FROM videos WHERE dir = ( SELECT dir FROM videos WHERE id = count_video ) ) WHERE video_id = (SELECT dir FROM videos WHERE videos.id = count_video ); SET count_video = count_video-1; END WHILE; END; //