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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Настройка поля 'id'
 
 автор: Dr Lines   (08.02.2009 в 09:09)   письмо автору
 
 

Вобщем задача такая:
- Есть таблица. У таблицы есть первычный ключ `id` с автоинкрементом. и другие поля (другие поля не столь важны, поэтому обpову их `values`)//

`id` - `values`
7 - sdfsdf
6 - kjkj
5 - jkljklj
4 - kjlkjlj
3 - dsfdsfs
2 - sdfsdf
1 - vbccx
0 - sdffdfdf

Итак, я удаляю запись, скажем, где `id`=4
и получается следующее:

`id` - `values`
7 - sdfsdf
6 - kjkj
5 - jkljklj
3 - dsfdsfs
2 - sdfsdf
1 - vbccx
0 - sdffdfdf

а нужно чтобы у всех верхних элементов id уменшился на 1, чтобы нумерация шла попорядку.
вот так:

`id` - `values`
6 - sdfsdf
5 - kjkj
4 - jkljklj
3 - dsfdsfs
2 - sdfsdf
1 - vbccx
0 - sdffdfdf

Есть ли способ настроить поле `id`, чтобы оно вело себя так автоматически?

  Ответить  
 
 автор: Valick   (08.02.2009 в 09:52)   письмо автору
 
   для: Dr Lines   (08.02.2009 в 09:09)
 

Нет, потому что это противоестественно.
Цитирую соседнюю тему:
"Что первичный ключ это не поле порядкового номера.
Что если хочется второе иметь именно полем - следует таковое создать независимо от первичного ключа.

[поправлено модератором]

  Ответить  
 
 автор: Dr Lines   (10.02.2009 в 14:48)   письмо автору
 
   для: Valick   (08.02.2009 в 09:52)
 

C какими параметрами должно быть это (пусть и не ключ) поле, чтобы оно вело себя так, как я описал выше?

  Ответить  
 
 автор: Trianon   (10.02.2009 в 14:53)   письмо автору
 
   для: Dr Lines   (10.02.2009 в 14:48)
 

почему Вы полагаете, что поле должно уметь автоматически себя как-то вести?
Внесете соответствующую функциональность в скрипт - будет вести.
Не внесете - не будет.

  Ответить  
 
 автор: Dr Lines   (10.02.2009 в 14:56)   письмо автору
 
   для: Trianon   (10.02.2009 в 14:53)
 

Скрипту придется выполнять запрос - сколько всего записей, потом, всем записям попорядку пере-присваивать значения, это же не рационально %). Наверно есть какойто более прстой способ?

  Ответить  
 
 автор: Trianon   (10.02.2009 в 15:02)   письмо автору
 
   для: Dr Lines   (10.02.2009 в 14:56)
 

>Скрипту придется выполнять запрос - сколько всего записей,
не нужно.

> потом, всем записям попорядку пере-присваивать значения,
Это один запрос UPDATE

>Наверно есть какойто более прстой способ?
конечно есть. Не хранить порядковые номера в таблице. Ибо не нужны.

  Ответить  
Rambler's Top100
вверх

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