|
|
|
| Вобщем задача такая:
- Есть таблица. У таблицы есть первычный ключ `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`, чтобы оно вело себя так автоматически? | |
|
|
|
|
|
|
|
для: Dr Lines
(08.02.2009 в 09:09)
| | Нет, потому что это противоестественно.
Цитирую соседнюю тему:
"Что первичный ключ это не поле порядкового номера.
Что если хочется второе иметь именно полем - следует таковое создать независимо от первичного ключа.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Valick
(08.02.2009 в 09:52)
| | C какими параметрами должно быть это (пусть и не ключ) поле, чтобы оно вело себя так, как я описал выше? | |
|
|
|
|
|
|
|
для: Dr Lines
(10.02.2009 в 14:48)
| | почему Вы полагаете, что поле должно уметь автоматически себя как-то вести?
Внесете соответствующую функциональность в скрипт - будет вести.
Не внесете - не будет. | |
|
|
|
|
|
|
|
для: Trianon
(10.02.2009 в 14:53)
| | Скрипту придется выполнять запрос - сколько всего записей, потом, всем записям попорядку пере-присваивать значения, это же не рационально %). Наверно есть какойто более прстой способ? | |
|
|
|
|
|
|
|
для: Dr Lines
(10.02.2009 в 14:56)
| | >Скрипту придется выполнять запрос - сколько всего записей,
не нужно.
> потом, всем записям попорядку пере-присваивать значения,
Это один запрос UPDATE
>Наверно есть какойто более прстой способ?
конечно есть. Не хранить порядковые номера в таблице. Ибо не нужны. | |
|
|
|