Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: INSERT на место пропущеного auto-increment

Сообщения:  [1-6] 

 
 автор: Хулиган   (12.07.2006 в 19:51)   письмо автору
 
   для: Alex Kraft   (12.07.2006 в 19:38)
 

ключи я повторять не хочу: у меня нет ключа 4, чтобы он повторился. Хотел вставлять отсутствующий ключ.
Ну раз это невозможно, придется отказаться.
или делать выборку по этому полю ascening и искать первый пропущеный и добавлять запись с номером, равным пропущеному.

   
 
 автор: Alex Kraft   (12.07.2006 в 19:38)   письмо автору
 
   для: Хулиган   (12.07.2006 в 16:56)
 

Как я понял, запись 4 - ххх была удалена. Прямого пути я не вижу. Можно создать вторую таблицу и записать туда данные из первой. Тогда порядок индексирования восстановится. Пятая запись станет четвертой, а шестая пятой т.д. Потом можно будет очистить первую таблицу и перегнать туда данные из второй.

   
 
 автор: Trianon   (12.07.2006 в 18:29)   письмо автору
 
   для: Хулиган   (12.07.2006 в 18:27)
 

Смысл auto_increment - создавать неповторяющиеся ключи.
А Вы хотите их повторять.

   
 
 автор: Хулиган   (12.07.2006 в 18:27)   письмо автору
 
   для: Loki   (12.07.2006 в 18:05)
 

для автоматизации.
а если незачем, то какой тогда смысл в auto-increment?

   
 
 автор: Loki   (12.07.2006 в 18:05)   письмо автору
 
   для: Хулиган   (12.07.2006 в 16:56)
 

А зачем?

   
 
 автор: Хулиган   (12.07.2006 в 16:56)   письмо автору
 
 

В таблице первое поле имеет тип auto-increment. Допустим есть такие записи:
1 - ааа
2 - ббб
3 - ввв
5 - ггг

Как можно добавить новую запись, чтобы она добавилась как 4 - ххх, т.е. на место пропущеной.
Пока что у меня добавляется как 6 - ххх, т.е. неиспользованый индекс остается.
Вставляю так: INSERT INTO 'TABLE1' VALUES ('', 'ххх');

Или нужно сортировать по этой колонке, искать пропущеные и вставлять на их место?

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования