Заполнить SQL / PHP идентификаторы ключей для таблицы базы данных - PullRequest
0 голосов
/ 13 мая 2011

Допустим, у меня есть 80 записей в таблице, и мне было задано автоматическое увеличение при заполнении таблицы.Затем я удалил 10 записей с разных позиций, и теперь у меня есть записи, которые выглядят следующим образом:

7, 8, 9, 11, 14, 16 и т. Д. *

Я бы хотелперенумеровать их в последовательном порядке, но не нужно вручную делать это вручную.Как мне создать новые идентификаторы ключей для них в алфавитном порядке?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 13 мая 2011

Вы не хотите этого делать, и вам не нужно этого делать.Это нарушает многие принципы построения БД и приводит к нежелательным результатам (поверьте мне).

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

0 голосов
/ 13 мая 2011

В дополнение к более ранним ответам, если вы просто ищете способ последовательной нумерации строк при выводе в какое-либо представление, вы не можете просто сделать это динамически с помощью php?

table: dogs
id | name 
---------
 1 | Rover
 4 | Fido
 7 | Timothy

Затем (изменено длякакой бы цикл вы ни выполняли

<?
$Dogs = mysql_fetch_array(your sql query);

foreach ($Dogs as $cnt => $Dog)
{
    echo ($cnt+1).": ".$Dog['name']."<br />";
}
?>

Будет выводить: 1: Ровер 2: Фидо 3: Тимоти

При сохранении святости индексов базы данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...