В этом случае обязательно нужно вешать try на случай, если этого id нет. Ну и пытаться выбить вариант. И при ОЧЕНЬ разреженной БД это выльется в … . Вариант только выгребать все id и случайно выбирать значение из этого списка. Потом делать запрос на получение этих данных.