0 / 0 / 0
Регистрация: 16.12.2017
Сообщений: 97
|
||||||
1 | ||||||
Сбросить авто инкремент после удаления записи из бд02.02.2021, 02:24. Показов 2008. Ответов 4
Метки нет (Все метки)
Как сбросить авто инкремент чтоб после удаления записей записывало новую на id удалённой? Я нашел в интернете такой способ
0
|
02.02.2021, 02:24 | |
Ответы с готовыми решениями:
4
Создание триггера до удаления записи и триггера после удаления записи Обновление dataGrid сразу после добавления/удаления записи, а не после перезапуска приложения Почему при подклбчении через ODBC теряются авто инкремент Автоинкремент после удаления последней записи |
12083 / 8391 / 1283
Регистрация: 21.01.2016
Сообщений: 31,641
|
|
02.02.2021, 02:26 | 2 |
2
|
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
|
|
02.02.2021, 11:47 | 3 |
BlackDreamm,
... "сайт" подразумевает многопльзовательскую работу, да ..? .. а теперь представьте, вы пришли почистить базу, и сделали ей "ресид", а я в это время тихо, никого не трогая, редактирую какую-то запись, привязанную к старому Id, котрого после вашей чистки уже нет ... и как у пользователя у меня вопрос "Эй, админ, а почему у меня не обновляется?" ... .. если вам нужны порядковые номера для документов, то создайте для этого отдельное поле и изменяйте его не автоинкрементом, а вычислительной процедурой, например ...
0
|
1144 / 853 / 262
Регистрация: 30.04.2009
Сообщений: 3,581
|
|
03.02.2021, 18:56 | 4 |
carrotik, RESEED не изменяет значения существующих Id, только смещает указатель автогенератора Id для новых записей. А так то да, занятие достаточно бессмысленное.
0
|
1217 / 808 / 244
Регистрация: 08.08.2014
Сообщений: 2,378
|
|
03.02.2021, 19:44 | 5 |
Это просто отличный способ наступить себе на хвост. И не только себе, но и, вероятно, каким-то внешним сервисам синхронизации, а ещё аналитикам, которые на эти ID могут ориентироваться в каких-нибудь своих сервисах/выборках.
Но если очень хочется лично пострадать, то решаются такие сомнительные задачи исключительно вручную: 1. Закрыть все подключения к базе, перевести её в однопользовательский режим, чтобы пока вы шаманите, никто другой с базой ничего не делал. 2. Самописным скриптом обработать ID согласно требуемой логике. Не забыв обо всех прочих сущностях, которые могут ссылаться на этот ID. 3. Желательно, перезапустить все сервисы, которые с этой БД работают (а то мало ли какая у них там реализация и что они могут кэшировать). 4. Вернуть базу в нормальный режим. Но это всё равно не решит кратковременных проблем у одтельных пользователей (или внешних сервисов), которые могли запросить запись (в десктопный клиент или в браузер) на редактирование до начала процедуры, а сохранить запись пытаются после её завершения.
0
|
03.02.2021, 19:44 | |
03.02.2021, 19:44 | |
Помогаю со студенческими работами здесь
5
Ошибка после удаления последней записи в таблице Не осуществляется выход из ЛК после удаления записи в MySQL Переиндексация строк таблицы после удаления записи После удаления записи сбивается номер по порядку Возвращение на предыдущую страницу после удаления записи из БД Автоматическое обновление DataGridView после удаления записи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |