|
|
|
| Я удалил все записи из таблицы и мне нужно чтобы при добавлении ключ опять начинался с 1, а не с последнего значения. Можно ли так сделать? Или надо удалять и заново создавать
таблицу? | |
|
|
|
|
|
|
|
для: levsha
(24.08.2007 в 10:33)
| | Либо обнуляйте таблицу при помощи оператора TRUNCATE TABLE, либо установите значение счётчика самостоятельно при помощи оператора ALTER TABLE
ALTER TABLE tbl AUTO_INCREMENT = 1;
|
| |
|
|
|
|
|
|
|
для: levsha
(24.08.2007 в 10:33)
| | Сбрасывать значение автоинкрементного поля на 1 не имеет смысла. | |
|
|
|
|
|
|
|
для: Thrasher
(24.08.2007 в 10:50)
| | Почему? | |
|
|
|
|
|
|
|
для: ec_stasis
(24.08.2007 в 11:22)
| | Потому-что оно не несет смысловой нагрузки, это не нумерация, это просто уникальная метка записи в таблице, и какого будет её цифровое значение не имеет абсолютно никакого значения. | |
|
|
|
|
|
|
|
для: Thrasher
(24.08.2007 в 13:14)
| | Иногда эти номера для навигации используются и не очень красиво, если разделы сайта начинаются с номера 624. | |
|
|
|
|
|
|
|
для: cheops
(24.08.2007 в 13:49)
| | >Иногда эти номера для навигации используются и не очень красиво, если разделы сайта начинаются с номера 624.
Согласен, используются и очень часто. Но для красоты и правильной сортировки по номеру, нужно вводить дополнительное числовое поле. | |
|
|
|
|
|
|
|
для: cheops
(24.08.2007 в 13:49)
| | >Иногда эти номера для навигации используются и не очень красиво, если разделы сайта начинаются с номера 624.
Иногда программисты пишут программы, применяя плохие подходы.
Основывать советы на таких подходах еще менее красиво.
Если TRUNCATE в некоторых случаях хоть как-то осмысленен,
то ALTER TABLE tbl AUTO_INCREMENT = 1; имеет смысл применять только
и исключительно для исправления ошибки в БД,
но никак не в качестве оператора реальной программной ветви. | |
|
|
|
|
|
|
|
для: Trianon
(24.08.2007 в 14:32)
| | Никто не советовал использовать оператор ALTER TABLE в программном коде, этот оператор вообще не рекомендуется использовать в программном коде, если это не Web-интерфейс управления базой данных. Оператор административный.
ALTER TABLE tbl AUTO_INCREMENT = 1; советовался для применения после оператора DELETE, не обнулившего счётчик. Применялся бы этот оператор только один раз. Не нужно додумывать что-то за других - спекуляции никогда ни к чему хорошему не приводят. | |
|
|
|
|
|
|
|
для: levsha
(24.08.2007 в 10:33)
| | Вроде так
ALTER TABLE table AUTO_INCREMENT =1
|
| |
|
|
|
|
|
|
|
для: Faraon
(24.08.2007 в 10:50)
| | Спасибо | |
|
|
|