Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста оптимальный способ для поиска свободного id. Т.е. скажем идет порядковая нумерация записей, и надо узнать, какой номер не занят. Если в таблице 64 записи, то надо узнать что следующий id будет 65, и наоборот, если какая-то запись была удалена, то надо узнать тот пустующий id, вместо добавления 65. Изобретать кривой велосипед не хочу, вдруг есть простой способ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 11:04 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
"Есть много способов приготовить кошку..." Одним из наиболее правильных является полный запрет на удаление записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 13:34 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, хмм, значит получается все же придется листать каждую "строку"? Я просто думал может есть какой-то встроенный инструмент для быстрой проверки номера.. а то если представить, что будет несколько десятков тысяч строк / записей, то добавление новой с полной проверкой наверное будет вызывать тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 15:11 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
Если заполнение "дырок" в последовательности id имеет архиважное значение, то есть смысл сделать отдельную дополнительную таблицу, куда заносится id удаляемой записи при удалении из основной таблицы и удаляется при добавлении. Или, как уже подсказали выше, запись не удалять из таблицы, а отмечать как удаленную, чтобы потом можно было записать в её поля новые данные. PS: Какой-то практический смысл в заполнении "дырок" имеется? Может быть, гораздо проще при удалении записи перенумеровать оставшиеся строки заново? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 15:57 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
Хм, т.е. в реальных форумных движках и просто в движках комментариев, сайтов, новые сообщения не занимают id старых? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 16:38 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
старых удаленных* я имею в виду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 16:39 |
|
||
|
поиск свободного id
|
|||
|---|---|---|---|
|
#18+
ElutharХм, т.е. в реальных форумных движках и просто в движках комментариев, сайтов, новые сообщения не занимают id старых?Если б новый комментарий или топик получиал бы ID удаленного, в итоге бардак полный настал бы. Вот, к примеру, Вы где-то ссылаетесь "...обсуждали в топике ... ID=123456..." Топик со временем удалили по какой-то причине, под его ID через год обсуждается другая тема и... что? Вооот. А так по соответствующему полю движок определит, что топик удален и выдаст соответствующее сообщение. Заметьте, когда запись реально не удаляется, можно легко различить "удалено" и "не существует". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2018, 16:55 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1829874]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 147ms |

| 0 / 0 |
