|
autoincrement id с обновлением при удалении записи
|
|||
---|---|---|---|
#18+
Решил использовать sqlite как встроенную для программы на python. Но обнаружился такой косяк, при удалении записи, id остаются прежними, а мне надо чтобы они сдвигались. т.е. было 1, 2, 3, 4, 5, удалил запись под id#3, стало 1,2,4,5, а надо 1,2,3,4. Создаю таблицу так: CREATE TABLE IF NOT EXISTS cards (id AUTOINCREMENT INTEGER PRIMARY KEY, ru INT NOT NULL, name TEXT NOT NULL, date_end TEXT, unit TEXT, manufacturer TEXT NOT NULL); ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2015, 21:48 |
|
autoincrement id с обновлением при удалении записи
|
|||
---|---|---|---|
#18+
Во первых, учимся форматировать посты. Во вторых, то чего ты желаешь практически никогда не нужно. Существование подобных дырок в нумерации никого в реальности не колышет. Это может выглядеть некрасиво, но практике ни на что не влияет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2015, 00:29 |
|
autoincrement id с обновлением при удалении записи
|
|||
---|---|---|---|
#18+
авторудалил запись под id#3, стало 1,2,4,5, а надо 1,2,3,4Ни в одной СУБД, мне кажется, автоинкремент не приведёт к 1,2,3,4. И зачем обновлять весь столбец при удалении одной записи! То, что Вы описываете, делается или трюками с select (выборка из хранимой процедуры или использование функции, которая возвращает номер записи в выборке, или рекурсивный select), или вычислением на клиенте. PK при этом остаётся 1,2,4,5 и прячется, а пользователю показывается вычисленный столбец. Разумеется, если нужно модифицировать запись, используется её PK. Ну и почитать с утра за чашечкой - раз , два . ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2015, 06:51 |
|
autoincrement id с обновлением при удалении записи
|
|||
---|---|---|---|
#18+
wojaovladРешил использовать sqlite как встроенную для программы на python. Но обнаружился такой косяк, при удалении записи, id остаются прежними, а мне надо чтобы они сдвигались. т.е. было 1, 2, 3, 4, 5, удалил запись под id#3, стало 1,2,4,5, а надо 1,2,3,4. Создаю таблицу так: CREATE TABLE IF NOT EXISTS cards (id AUTOINCREMENT INTEGER PRIMARY KEY, ru INT NOT NULL, name TEXT NOT NULL, date_end TEXT, unit TEXT, manufacturer TEXT NOT NULL); напряги мозги! то, что ты хочешь идиотизм - тебе нечего делать в программировании хоть бы подумал, что должно произойти в таблице с миллионами записей при твоем капризе ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2015, 21:41 |
|
|
start [/forum/topic.php?fid=54&msg=38933487&tid=2008692]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 152ms |
0 / 0 |