SQLite - Как вставить в таблицу с предварительной проверкой полей? - PullRequest
0 голосов
/ 09 сентября 2011

Я использую базу данных в своем проекте, и когда я вставляю значения в таблицу, мне нужно проверить, имеет ли поле значение, которое не производит вставку. для примера:

INSERT INTO myTable (column1) values ('some_value1')

если в столбце column1 существует какой-либо alredy, не вставляйте значение.

Ответы [ 2 ]

1 голос
/ 09 сентября 2011

Я считаю, что это можно сделать с помощью метода разрешения конфликтов IGNORE в SQLite. Код ниже должен сделать свое дело. Здесь для column1 здесь должно быть установлено уникальное значение.

INSERT OR IGNORE INTO myTable (column1) values ('some_value1')

Я использую следующие ссылки для справки;

1 голос
/ 09 сентября 2011

Установите ограничение unique на myTable.column1. Затем, всякий раз, когда вы пытаетесь вставить повторяющееся значение, оно не пропускает вас, так как нарушает ограничение. Вы можете либо поймать и обработать эту ошибку, либо просто позволить механизму БД делать это автоматически.

РЕДАКТИРОВАТЬ: обратите внимание, что SQLite не позволяет вам делать много изменений в вашей таблице, как только она создана; поэтому вам, возможно, придется воссоздать таблицу с установленным ограничением.

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