Holas,
No recomiendo mucho tener consultas a la BD dentro de un bucle, en lo posible seria lo mejor obviarlas, porque te consumirías muchísimo recurso.
Te recomiendo que usar
sha1 al id de tu tabla (IdEmpresa) junto con uniqid, asi evitarias duplicados. Otra forma seria usar uniqid y que esta a su vez sea un indice unico en tu tabla asi evitarias duplicidad, en caso de que exista puedes capturarlo en un try catch para generar otro
uniqid.
Ya nos comentas.
Saludos,