2015-11-08 90 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