我正在try 创建一个数据库,允许用户创建"待办事项"列表,并用要完成的项目填充它们.但是,在向表中插入数据时,它会给我一个唯一的约束失败错误,我不知道如何解决它.这是我用于创建数据库和插入数据的代码.

CREATE TABLE user (
    user_id integer  NOT NULL   PRIMARY KEY,
    first_name varchar(15)  NOT NULL,
    title varchar(5)  NOT NULL,
    username varchar(15)  NOT NULL,
    password varchar(20)  NOT NULL,
    email varchar(50)  NOT NULL,
    bio text  NOT NULL
);


CREATE TABLE list (
    list_id integer  NOT NULL   PRIMARY KEY,
    list_name varchar(10)  NOT NULL,
    user_user_id integer  NOT NULL,
    FOREIGN KEY (user_user_id) REFERENCES user(user_id)
);


CREATE TABLE item (
    item_id integer  NOT NULL   PRIMARY KEY,
    item text  NOT NULL,
    completed boolean  NOT NULL,
    list_list_id integer  NOT NULL,
    FOREIGN KEY (list_list_id) REFERENCES list(list_id)
);


-- Data:
INSERT INTO user VALUES (1, "Name1", "Title1", "Username1", "Password1", "Email1", "Bio1");
INSERT INTO user VALUES (2, "Name2", "Title2", "Username2", "Password2", "Email2", "Bio2");
INSERT INTO user VALUES (3, "Name3", "Title3", "Username3", "Password3", "Email3", "Bio3");

INSERT INTO list VALUES (1, "user1-list1", 1);
INSERT INTO list VALUES (2, "user1-list2", 1);
INSERT INTO list VALUES (3, "user1-list3", 1);
INSERT INTO list VALUES (1, "user2-list1", 2);
INSERT INTO list VALUES (1, "user3-list1", 3);
INSERT INTO list VALUES (2, "user3-list2", 3);

INSERT INTO item VALUES (1, "user1-list1-item1", "FALSE", 1);
INSERT INTO item VALUES (2, "user1-list1-item2", "FALSE", 1);
INSERT INTO item VALUES (1, "user1-list2-item1", "FALSE", 2);
INSERT INTO item VALUES (1, "user1-list3-item1", "FALSE", 3);
INSERT INTO item VALUES (2, "user1-list3-item2", "FALSE", 3);
INSERT INTO item VALUES (1, "user2-list1-item1", "FALSE", 1);
INSERT INTO item VALUES (2, "user2-list1-item1", "FALSE", 1);
INSERT INTO item VALUES (1, "user3-list1-item1", "FALSE", 1);
INSERT INTO item VALUES (1, "user3-list3-item1", "FALSE", 2);

我已将收到的错误复制到下面:

Error: near line 43: UNIQUE constraint failed: list.list_id
Error: near line 44: UNIQUE constraint failed: list.list_id
Error: near line 45: UNIQUE constraint failed: list.list_id
Error: near line 49: UNIQUE constraint failed: item.item_id
Error: near line 50: UNIQUE constraint failed: item.item_id
Error: near line 51: UNIQUE constraint failed: item.item_id
Error: near line 52: UNIQUE constraint failed: item.item_id
Error: near line 53: UNIQUE constraint failed: item.item_id
Error: near line 54: UNIQUE constraint failed: item.item_id
Error: near line 55: UNIQUE constraint failed: item.item_id

如有任何帮助,我们将不胜感激!

推荐答案

您已经将list_id设置为LIST表上的主键,这意味着该值对于每条记录都必须是唯一的.因此,try 插入具有相同list_id表的多个记录会导致错误.

Item表的问题也是如此.

Database相关问答推荐

发布 Oracle 和 SQL Server 性能测试是否违反许可?

Phonegap如何在android上保存永久数据

在 model.save() 中处理竞争条件

数据库模式 - location

Oracle 数据库统计信息应该多久运行一次?

如何禁用 Django 查询缓存?

如何在 VS 2012 的 SQL Server 数据库项目中存储静态数据

从 XML 读取数据

MySQL JDBC Driver中cachePrepStmts和useServerPrepStmts有什么区别

如何在 MongoDB 和 PostgreSQL for GIS 之间进行 Select ?

用 Python 永久存储字典的优雅方式?

自动增量唯一标识符

JPA:处理 OptimisticLockException 的模式

什么时候用R,什么时候用SQL?

在 postgresql 中将 varchar 列升级为枚举类型

数以百万计的条目排名

如何在android中使用合同类?

查询 oracle clob 列

Django:检测数据库后端

为什么实体框架连接需要元数据属性?