Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Вопрос по "id" int autoincrement.

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Алесь

цитировать



Зарегистрирован: 22 Ноя 2007 19:23:20
Сообщения: 29
Откуда: Минск

СообщениеДобавлено: 15 Сен 2009 11:27:13    Заголовок сообщения: Вопрос по "id" int autoincrement. Ответить с цитатой

Вопрос не столько по пирогу сколько по mysql:
Есть таблица, например - sometable. В ней есть поле "id" int autoincrement. Допустим в ней есть 10 записей - т.е. последний id - 10. Я через пхпмайадмин удаляю последние 5 записей. Сейчас последний id - 5. Когда я добавлю новую запись, не указывая id, то для неё id будет - 11.

Внимание вопрос: почему id не 6, а 11?

Мелочь, а глаза мазолит.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dromok

цитировать



Зарегистрирован: 24 Апр 2009 17:01:45
Сообщения: 6

СообщениеДобавлено: 15 Сен 2009 12:25:22    Заголовок сообщения: Ответить с цитатой

Это обычное поведение MySQL. И сделано это не просто так. На удаленную id где-то в другой таблице может остаться ссылка, и тогда получится каша. Поэтому используется уникальное значение id ранее не использовавшееся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Алесь

цитировать



Зарегистрирован: 22 Ноя 2007 19:23:20
Сообщения: 29
Откуда: Минск

СообщениеДобавлено: 17 Сен 2009 16:03:59    Заголовок сообщения: Ответить с цитатой

А-а-а... Здорово! Very Happy А изменить это поведение как-нибудь можно? Ну или кэш какой-нибудь очистить?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
sinoptik

цитировать



Зарегистрирован: 20 Авг 2009 16:29:34
Сообщения: 10

СообщениеДобавлено: 17 Сен 2009 19:38:26    Заголовок сообщения: Ответить с цитатой

можно альтертайблом AUTO_INCREMENT=6
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mayar

цитировать



Зарегистрирован: 03 Апр 2009 15:52:14
Сообщения: 24

СообщениеДобавлено: 20 Сен 2009 17:11:29    Заголовок сообщения: Ответить с цитатой

Ну или скопировать данные из рабочей таблицы во временную таблицу, сделать рабочей таблицу TRUNCATE Table и потом снова в нее залить данные из временной.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru