SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.06.2013 00:17:52

malor
Завсегдатай
Зарегистрирован: 24.05.2007
Сообщений: 49

Нужен столбец с атрибутом AUTO_INCREMENT, но один уже такой есть. Как быть?

В таблицу заносятся записи. И параллельно пользователи у себя их нумеруют еще в тетрадке. Теперь они хотят, чтобы нумерацию придумывала сама СУБД. А так как в тетрадке они закончили свои записи номером 449, то соответственно база должна начать присваивать начиная с 450-го номера. Я б назвал столбец именем `regnumber`.  Но согласно учебнику в таблице может быть только одно поле с атрибутом AUTO_INCREMENT. Как вы понимаете это то поле в нашей таблице, которое мы именуем как `id` (уверен, вы тоже  yikes ).

Что можно предпринять бро?

MySQL 5 (номер версии не помню, но от января 2013-го)

Неактивен

 

#2 08.06.2013 00:28:25

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Нужен столбец с атрибутом AUTO_INCREMENT, но один уже такой есть. Как быть?

Триггером можно подкручивать. Ну или в самом insert-запросе можно выбирать предыдущее максимальное значение нужного поля на единицу.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 08.06.2013 10:25:52

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Нужен столбец с атрибутом AUTO_INCREMENT, но один уже такой есть. Как быть?

Если значения с id совпадают, то можно это же поле и использовать smile Немного странная у Вас ситуация))) В любом случае могут возникнуть проблемы при одновременной вставке нескольких записей. Если такая ситуация исключена, то действительно проще всего будет использовать MAX(`field`)+1.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson