SQLite:插入约束失败

发布于 2024-10-28 16:28:58 字数 361 浏览 2 评论 0原文

我有一个自动增量字段,其余的是整数、文本和日期时间字段。我该如何解决它?

表结构如下:

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
)

I have one Auto Increment Field, rest are Integer,Text and Datetime field. How do I fix it out?

The Table Structure is given below:

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
)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热血少△年 2024-11-04 16:28:58

这可能是因为在你的插入命令中

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

您没有为 sb_image 或 sb_date 插入任何值,这两个值都不是 NULL 并且没有定义默认值。 SQLite 不知道要在那里放什么。您应该取消这些列上的 NOT NULL 约束,为列定义默认值,或者显式插入某些内容。

It could be because in your insert command

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

you didn't insert any values for sb_image or sb_date, both of which are NOT NULL and have no default defined. SQLite doesn't know what to put in there. You should either take away the NOT NULL constraint on those columns, define a default for the columns, or insert something explicitly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文