Общие > Базы данных
Выбор несуществуюей записи MySQL
Error202:
Господа!
есть пространство 5 кубов, в каждом по 500 более мелких кубов, где в каждом по 15 совсем мелких...
В бд (MySQL) каждый куб записывается по пути начиная от большого, т.е. например k1=3, k2=345, k3=12
это все формально, изначально бд пустая
при регистрации юзер получает случайно выбранный самый мелкий куб и он заносится в бд в таком виде... (например k1=3, k2=345, k3=12)
Не могу придумать алгоритма, как случайно придумать куб из большого квадрата так, чтобы параметры k1,k2 и k3 не совпадали с уже существующим в бд (т.е. выбрать несуществуюий куб и занять его)?
k1,k2 и k3 - поля таблицы
brainkiller:
Вариант с предсозданием записей для каждого куба с последующим select id from cubes where user_id = 0 limit 1 чем не подходит?
Error202:
Да многовато надо делать пустых записей... 5*500*15...
Я сделал рандомный выбор начиная с самых мелких по 2-3... и проверкой по базе...
Для моих целей подойдет... т.к. заполнение будет максимум на 30%
brainkiller:
Всего-то 37500 записей! :)
А что, если хранить отдельно параметры последнего добавленного элемента и добавлять каждый последующий с постоянным сдвигом, скажем, в 2000 ячеек?
Error202:
Ага... именто так и сделал... храню последнего, но сдвиг не постоянный а рандомный...
Навигация
Перейти к полной версии