|
 56.2 Кб |
|
| есть поле
id AUTO_INCREMENT PRIMERY KEY при удалении id 2 из id 4 и добавлении новой записи в id 2 записывается пятёркой
вопрос как после удаление 2 записалось 3 а не 5
|
пример в файле
за ранее Спасибо! | |
|
|
|
|
|
|
|
для: hex
(07.07.2010 в 17:29)
| | AUTO_INCREMENT нумерует строки по порядку. Даже если удалить, к примеру, с 2 по 50 запись, следующая добавленная всё равно будет 51 | |
|
|
|
|
|
|
|
для: Gubichev
(07.07.2010 в 17:45)
| | а кек же можно решить такое не подскажеш ? | |
|
|
|
|
|
|
|
для: hex
(07.07.2010 в 17:29)
| | реализовать-то можно, но... это, мягко говоря, бредовая идея
было у меня 100к записей. я удалил 3-ю. что делать с id записей с 4 по 100к ? менять им айдишники? или следующий инсерт проводить на 3-й id ?
в первом случае мы получаем зависание сервиса на секунду-другую (а если записей миллионы?), а во-втором случае, получаем, что по на один и тот же запрос (адрес, ссылку и т.д.), мы до- и после- удаления-вставки получаем разные свойства объекта с одним и тем же идентификатором. кроме того во втором случае так же появяться накладные расходы на процедуру поиска дырок в последовательности значений id-колонки при каждом инсерте.
id - на то и id, что бы быть уникальным для каждой записи. и если запись умирает, то id умирает вместе с ним. мы же не оставляем свой id (паспорт) по наследству. умер человек - уничтожается паспорт.
З.Ы.
кстати в случае транзакций правка id может привести к косякам и даже к краху запроса | |
|
|
|
|
|
|
|
для: fetish
(07.07.2010 в 17:53)
| | Огромное спосибо за разеснение | |
|
|
|