2015-11-08 94 views
0

我在sqlite中创建了我自己的表mytable,并且想要捕获我的主机列表的内容并将它们写入表中。我能得到的网页内容与python-requests但在到达的主机,同时出现以下错误:UNIQUE约束失败:mytable.hostName

UNIQUE constraint failed: mytable.hostName 

这是我的表在创建它的一个问题?我创建的表像这样:

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

UPDATE

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

+2

您尝试插入两次相同的名称。它必须在每一行都是唯一的 – lad2025

+0

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

回答

0

当你创建表时没有问题。

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

我建议你在插入表之前检查你的主机名,如果它们不是唯一的,就改变你的表结构。

我希望它会有用。

+0

他们都是独特的... :( – MLSC

+0

请示例, – Zety

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

插入数据之前,如果它已经存在,你应该检查。

+0

我的主机名是唯一的。我不知道为什么我看到错误:( – MLSC