|
|
|
| В базе данных есть таблица, в которую заносятся темы, при этом каждой из тем присваивается уникальный id (которому присвоено свойство auto_increment). Для проверки я создаю в нем несколько пробных тем. Устраняю выявленные недостатки. Создаю еще несколько пробных тем. Недостатков больше нет (ну, например, нет). Теперь я хочу убрать пробные темы. Удаляю пять ненужных записей. Все нормально. Создаю еще одну пробную тему, ей должен присвоиться id = 1 (как хотелось бы мне), но нет, на самом деле ей присваивается id = 6. Скрипт думает, что у меня 6 тем (на самом-то деле - одна), и начинает искать записи с id = 1,2,3,4,5,6. Естественно, он их не находит, и сообщает об ошибках. Вот вроде все в подробностях.
Нельзя ли как-то посмотреть и изменить значение поля с auto_increment'ом ?
-------------------------------------------------------------------------------- | |
|
|
|
|
|
|
|
для: LikeThat
(17.04.2007 в 14:10)
| | Задача auto_ncrement - создавать уникальные идентификаторы, а не нумеровать объекты.
Хотите нумеровать объекты - делайте это собственными средствами.
Как правило, нумерация объектов если и нужна - то лишь при выводе их на экран.
Нигде и никому более искусственные номера не нужны - тем более самому скрипту.
В смысле, хорошо написанный скрипт спроектирован так, что ему эти номера не нужны. | |
|
|
|
|
|
|
|
для: Trianon
(17.04.2007 в 14:12)
| | Я так делал
ALTER TABLE phpbb_topics AUTO_INCREMENT = 3;
|
| |
|
|
|
|
|
|
|
для: MIchail1982
(17.04.2007 в 15:06)
| | Зря. | |
|
|
|
|
|
|
|
для: Trianon
(17.04.2007 в 15:11)
| | а почему?
просто у меня была такая ситуация, нашёл СМС построенную на движке phpBB, но там был кривоватый инсталятор, не ставилась на существующий форум, т к гдето (ненашёл где) жёстко прописывались номер категории, форума и топика и чтоб впихнуть туда свои данные мне пришлось таблицу апдейтить так
UPDATE phpbb_topics set topic_id=topic_id+100;
UPDATE phpbb_topics set topic_id=topic_id-98;
|
после этого инкримент увеличивался на 100. в принципе терпимо, но не красиво
после этого я возвращал значение инкримента в нужное положение запросом из предидущего поста | |
|
|
|
|
|
|
|
для: MIchail1982
(17.04.2007 в 15:23)
| | Вы же сами пишете, что инсталлятор был кривой.
Для того чтобы исправить ошибки в базе - все средства хороши.
Но только Вы же не станете писать скрипт, рабочий цикл которого - сперва понасовать ошибок, а затем их исправлять? | |
|
|
|