SQLite: не удалось выполнить ограничение при вставке - PullRequest
0 голосов
/ 02 апреля 2011

У меня есть одно поле автоинкремента, остальные поля Integer, Text и Datetime.Как это исправить?

Структура таблицы приведена ниже:

CREATE TABLE "q1" (
     "sb_id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
     "sb_title" text(100,0) NOT NULL,
     "sb_details" text(300,0) NOT NULL,
     "sb_image" text(30,0) NOT NULL,
     "sb_type" integer(4,0) NOT NULL DEFAULT '1',
     "sb_date" datetime NOT NULL
)

1 Ответ

1 голос
/ 06 апреля 2011

Это может быть потому, что в вашей команде вставки

connection.execute ("INSERT INTO q1 (sb_title, sb_details) VALUES (?,?)", A, b);

вы не вставили никаких значений для sb_image или sb_date, оба из которых не равны NULL и не определены по умолчанию. SQLite не знает, что туда вставить. Вы должны либо снять ограничение NOT NULL для этих столбцов, либо задать для столбцов значение по умолчанию, либо вставить что-то явно.

...