UNIQUE约束失败:mytable.hostName

时间:2015-11-08 11:40:05

标签: python sqlite primary-key

我在sqlite中创建了自己的名为mytable的表,并希望捕获主机列表的内容并将其写入表中。我可以使用python-requests获取页面内容,但在到达主机时会发生以下错误:

UNIQUE constraint failed: mytable.hostName

这是我的桌子创建时的问题吗?我正在创建这样的表:

> CREATE TABLE mytable (host CHAR(20) PRIMARY KEY, content TEXT);

更新

我完全删除了我的数据库并再次运行我的代码。但也有同样的错误......

2 个答案:

答案 0 :(得分:1)

你有:

CREATE TABLE mytable (host CHAR(20) PRIMARY KEY, content TEXT);

PRIMARY KEY必须是UNIQUE。您可能尝试两次插入相同的键,如:

INSERT INTO mytable(host, content) 
VALUES ('a', 'some text');
-- OK

INSERT INTO mytable(host, content) 
VALUES ('a', 'some text 2');
-- Error: UNIQUE constraint failed: mytable.host

SqlFiddleDemo

在插入数据之前,您应该检查它是否已经存在。

答案 1 :(得分:0)

创建表时没有问题。

您的代码存在的问题是您尝试将相同的hostName插入到作为主键的表中。

我建议您在插入表格之前检查您的hostNames,如果它们不是唯一的,请更改您的表格结构。

我希望它会有用。