Ik had te maken met een soortgelijk probleem bij het op onnatuurlijke wijze bestellen van een categorieboom. Als u alle rijen voor één id tegelijk invoegt, kunt u voor elke sub-id zoiets als dit doen:
SET @seq = 0;
INSERT INTO test
(id, subId, text) VALUES
(_id, @seq := @seq + 1, 'Some text')
;
Als u een rij aan een id moet "toevoegen", kunt u @seq instellen met
SELECT IFNULL(MAX(subId), 0) INTO @seq FROM test WHERE id = _id;
Dit vereist natuurlijk beheer van de id door de applicatie en niet door mySQL.
Je zou hetzelfde kunnen doen als het laatste codeblok om ook de volgende beschikbare id te krijgen.