shadowbolt
Дата: 23.04.2002 09:47:22
DELETE FROM table1 WHERE ID=4;
ID - счетчик. После удаления, по идее, записи должны сдвинуться и запись с ID=4 должна появиться снова. Но записи идут: ID 1,2,3,5,... ,т.е. 4-й нет.
Почему так?
База в access, использую ODBC.
SysOp
Дата: 23.04.2002 11:00:47
Ну уж нет! Умерла, так умерла. Автоинкрементное поле только генерирует значение при вставке записи, но никакого контроля в последующем за этим значением не ведет. И это правильно. Хочешь 'бездырочные' последовательные значения - позаботься об этом сам. Только я на 99% уверен, что реально это не нужно.
SysOp
Дата: 23.04.2002 15:27:01
Физически записи могут выводятся в произвольном порядке до явного указания порядка их сортировки. Однозначно запись идентифицирует ее ключ, а не порядковый номер хранения или вывода. Десятые по номеру записи при различной сортировке будут разными.