|
|
|
|
|
для: Loki
(25.07.2005 в 09:24)
| | Никак не документировано, так как способ удаления - это внутреннее дело СУБД. Скорее всего не поменяется, но я бы лучше после каждого удаления явно устанавливал бы значение AUTO_INCREMENT... | |
|
|
|
|
|
|
|
для: cheops
(23.07.2005 в 23:42)
| | Да это понятно - на поверхности лежит:) Вопрос-то был: насколько эта штука документирована, и не перестанет ли она в какой-то момент работать?:) | |
|
|
|
|
|
|
|
для: Loki
(23.07.2005 в 20:37)
| | Это штучки оптимизатора, он когда видит DELETE без WHERE-условия - вызывает на самом деле TRUNCATE - чего время то терять :))) | |
|
|
|
|
|
|
|
для: cheops
(23.07.2005 в 19:06)
| | Хм... придется добавить два запроса... А мой вариант работает только у меня, или я действительно нашел хитрую возможность?:) | |
|
|
|
|
|
|
|
для: Loki
(23.07.2005 в 17:20)
| | TRUNCATE - очищает таблицу
DELETE - удаляет записи одну за другой, и гораздо медленнее TRUNCATE.
Хм... вообще говоря вы можете назначать значение AUTO_INCREMENT сами при помощи оператора ALTER TABLE
ALTER TABLE tbl AUTO_INCREMENT = 1;
|
| |
|
|
|
|
|
|
| Необходимо очищать таблицу с сохранением нумерации автоинкрементного поля.
и
сбрасывают нумерацию, а
DELETE FROM table WHERE 1
|
только удаляет данные.
Хочется узнать, насколько эта функция документирована? И не ждет ли меня при перенастройке сервера или смене версии mysql неприятный сюрприз?
Ну или может есть более грамотный способ. | |
|
|
|
|