sqlite создать значение столбца таблицы по умолчанию не работает - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу выполнить запрос sqlite, который возвращает строки, в которых определенный столбец имеет (нулевое) значение.Я пробовал много вариантов, таких как

SELECT ContribId FROM stack_contrib_tab WHERE BatchId IS NULL
SELECT ContribId FROM stack_contrib_tab WHERE BatchId ISNULL

. Они возвращали все строки, независимо от того, был ли BatchId нулевым или нет.Интересующие строки показывают "(null)" в столбце DbVisualizer.Тогда я подумал, что, возможно, столбец действительно пустой, поэтому я попытался

SELECT ContribId FROM stack_contrib_tab WHERE BatchId = ''
SELECT ContribId FROM stack_contrib_tab WHERE BatchId = ""
SELECT ContribId FROM stack_contrib_tab WHERE BatchId = '""'

. Это не привело к ошибкам, но и к набору результатов тоже.Тогда я подумал, что, возможно, это буквально '(null)', поэтому я попытался

SELECT ContribId FROM stack_contrib_tab WHERE BatchId = '(null)'

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

BatchId DEFAULT NULL

Это тоже не сработало.Поле все еще показывало (ноль), и запросы вели себя так же.Тогда я подумал, хорошо, я буду использовать 0 вместо NULL.Итак, я создал поле как

BatchId INTEGER DEFAULT 0

Как вы уже догадались.Это тоже не сработало.Столбец все еще показывал (ноль).Затем я где-то читал, что вам также нужно установить для столбца значение NOT NULL, поэтому я попытался

BatchId INTEGER DEFAULT 0 NOT NULL

Теперь я получаю сообщение об ошибке

org.sqlite.SQLiteException: [SQLITE_CONSTRAINT_NOTNULL] AСбой ограничения NOT NULL (ограничение NOT NULL не выполнено: stack_contrib_tab.BatchId)

Что я делаю не так?

Обновление: Я успешно установил BatchId в 0, а не в NULL.Ошибка произошла позже во время вставки, а не при создании таблицы, как я думал.

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