To może tak:
INSERT
INTO mod_xgallery_categories(parent_id,
level, name, description)
SELECT 39, level + 1, 'aaa', 'aaa'
FROM mod_xgallery_categories
WHERE cat_id = 0 LIMIT 1
lub tak:
INSERT
INTO mod_xgallery_categories(parent_id,
level, name, description)
SELECT 39, level + 1, 'aaa', 'aaa'
FROM mod_xgallery_categories
WHERE id =
(SELECT id
FROM mod_xgallery_categories
WHERE cat_id =0 LIMIT 1)
A w najgorszym razie możesz zastosować taki trick:
SELECT @val=level + 1
FROM mod_xgallery_categories
WHERE cat_id = 0 LIMIT 1;
INSERT
INTO mod_xgallery_categories(parent_id,
level, name, description)
VALUES (39, @val, 'aaa', 'aaa');
Czyli najpierw przypisujesz do zmiennej systemowej (MySQLa oczywiście) wartość level+1, a potem ją umieszczasz w tabeli razem z innymi wartościami. I to wszystko możesz potraktowac jako jedno zapytanie, bo MySQL pozwala na takie rzeczy.