2013-10-28 4 views
0

Я новичок и сомнение может быть глупым Не сомневайтесь, могу ли я зарезервировать автоматически сгенерированный идентификатор в таблице sqlite при попытке зарегистрировать поля через формуРезервирование id (pk) в sqlite для записи

Проблема столкнулся является Я полагаюсь на «ид» в качестве основного ключа, который для следующей записи я вручную вычислить подсчета Колличесто существующих записей в БД + 1

Если я открываю та же форма от 2 разных браузеры одновременно оба получают одинаковый идентификатор. Данные, хранящиеся в БД, являются содержимым формы, представленной позже из двух. Я хочу, чтобы обе записи были обновлены до DB.

Благодаря

+1

Почему вы вручную вычисляете идентификатор, а не позволяете базе данных это делать? –

+0

Именно поэтому я понимаю, что вы в настоящее время используете автогенерируемый идентификатор SQLITE и _that's_ получаете обманы в db? Или вы обманываете с созданным вручную человеком и думаете о переходе на созданный SQLITE автогенератор. – asantaballa

+0

ID должен быть создан базой данных. Если таблица правильно создана, просто добавьте новые строки без указания идентификатора (или предоставления NULL). –

ответ

1

Не быть грубым, но при попытке зарезервировать идентификатор, особенно тот, который является первичным ключом, является ущербной логики в лучшем случае.

Более простой подход к «резервированию» идентификатора - просто создать запись и получить идентификатор в начале рабочего процесса.

Любая последующая функциональность вашего рабочего процесса будет просто обновлять запись, которую вы изначально создали.

Таким образом вы можете создать запись, эффективно «зарезервировать» ее, показать ее конечному пользователю, а затем продолжить добавлять информацию в модель за ваш рабочий процесс.

Если рабочий процесс по какой-то причине оставлен, просто удалите запись.

+0

Спасибо Брэндон. Полностью согласен с вами с недостатком дизайна db. Я должен был работать с существующей базой данных, которая была разработана с идентификатором pk. Не хотел вносить изменения в db. Изменен способ зарезервировать идентификатор, а не хороший подход, я предполагаю, но работает пока. Еще раз спасибо – user1007839

+0

Cool. Рад, что вы его работали. – Brandon

Смежные вопросы