Sqlite на Iphone переупорядочивает строки базы данных, когда я удаляю строку? - PullRequest
1 голос
/ 10 сентября 2010

Я довольно новичок в программировании на iphone. Я хотел бы получить некоторую информацию с вами. Вот структура моей базы данных:

ID_song : auto-int (primary key)
txt_song : text

Когда мы удаляем некоторые данные из табличного представления и когда данные удаляются из базы данных SQLite, скажем, у меня в базе данных только 3 песни

id_song:1 txt_song:Song_A
id_song:2 txt_song:Song_B <------ (To be deleted)
id_song:3 txt_song:Song_C

После удаления строк данные в таблице выглядят следующим образом:

id_song:1 txt_song:Song_A
id_song:3 txt_song:Song_C

или

id_song:1 txt_song:Song_A
id_song:2 txt_song:Song_C

Я имею в виду, реорганизует ли sqlite индекс?

Ответы [ 4 ]

2 голосов
/ 10 сентября 2010

Зачем это делать? Прежде всего, это может привести к огромному снижению производительности и реальному риску нарушения целостности данных. Изменение первичного ключа означает, что все связанные внешние ключи также должны быть изменены.

1 голос
/ 11 сентября 2010

похоже на

id_song:1 txt_song:Song_A
id_song:3 txt_song:Song_C
1 голос
/ 10 сентября 2010

Нет. Ни одна база данных не будет перезаписывать поле идентификатора после удаления строки. Если вы хотите пронумеровать свои песни, вам нужно сделать это самостоятельно в коде.

1 голос
/ 10 сентября 2010

Нет, это не так. (что вы, вероятно, могли бы выяснить примерно за 5 минут, попробовав это сами. :))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...