Почему не срабатывает MySQL запрос?
INSERT INTO и не должен возвращать строки.
Если посмотреть affected rows - там будет количество вставленных строк.
Или у вас вставка не происходит молча и без ошибок?
Странно, у меня сработало, давайте дампы.
Это мой пример:CREATE TABLE `table1` ( 
	`id` INT( 255 ) AUTO_INCREMENT NOT NULL, 
	`title` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, 
	`parent_id` INT( 255 ) NULL,
	 PRIMARY KEY ( `id` )
 )
CHARACTER SET = utf8
COLLATE = utf8_general_ci
ENGINE = INNODB
AUTO_INCREMENT = 2;

INSERT INTO `table1`(`id`,`title`,`parent_id`) VALUES (1,'first',0);
INSERT INTO `table1`(`id`,`title`,`parent_id`) VALUES (2,'second',1);
INSERT INTO `table1`(`id`,`title`,`parent_id`) VALUES (3,'other 1',NULL);
INSERT INTO `table1`(`id`,`title`,`parent_id`) VALUES (4,'other 2',NULL);

INSERT INTO table1 (title, parent_id)
SELECT title, id FROM table1 WHERE parent_id IS NULL