Как сгенерировать случайное число (от 0 до 999999) которого нет в БД?
Возможно Вам подойдет алгоритмический метод. Шифруйте любым криптографическим алгоритмом с выходным пространством [1..999999] на фиксированном ключе числа 1, 2, 3, ... . 
Пока ключ фиксирован в силу биективности алгоритма Вы будете получать уникальные ID
Например генерация случайного числа и проверка его наличия в базе.
Если строка со сгенерированным ID найдена - повторить генерацию.