Задать вопрос
@nikolau

Увеличить на 1 id в mysql?

Нужно вставить запись в центр таблицы, записи выводятся так, как они идут по id. Выражение id = id+1 WHERE id>500 выдаст ошибку, т.к. поле id уникальное, и при увеличении будет равно следующему id.
  • Вопрос задан
  • 2119 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 5
@Alchemist
Update records set id=id+1 where id>500 order by id desc
Ответ написан
irishmann
@irishmann
Научись пользоваться дебаггером
Скопировать запись из середины в конец, и апдейтнуть исходник.

UPD. А вообще стоило сначала погуглить. Ссылка
Ответ написан
lipatovroman
@lipatovroman
web разработчик, звукорежиссер, водолаз
Сначала нужно возьмите нужный Id и поместите его в конец, а потом вставьте вместо него нужную строку, если понял вас правильно...
Ответ написан
Комментировать
@alexfix
Если нет зависимых записей, то все остальное не особо критично, хотя не вижу, зачем такое нужно.. но если очень нужно, вопрос решаемый мне кажется.
Делаете хранимую процедуру в которой делаете курсор выбирая id >= 500 с сортировкой по id desc. В цикле увеличиваете id = id+1, освобождая таким образом место для предыдущей записи. После окончания цикла у вас освободится id =500. Мне кажется должно сработать
Ответ написан
@ksanti177
Когда создаешь колонку id галочка должна стоять на autoincrement (оно само будет считать ) могу путать буквы но суть проста. При создании тип должен но не обязан быть bigint значение 20. А В sql запросе id в место цифр null вставляй . Правильность можно проверить с помощью phpmyadmin, вкладка вставить. Он тебе правильный запрос сформирует. И соответственно надо старую колонку id удалить перед процессом. Если все правильно сделаешь то существующие записи пересчитает mysql
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы