2015-11-08 2 views
0

Я создал свою собственную таблицу под названием mytable в sqlite и хочу захватить содержимое списка моих хостов и записать их в таблицу. Я могу получить содержимое страниц с python-requests, но при достижении к хосту следующее сообщение об ошибке:UNIQUE constraint failed: mytable.hostName

UNIQUE constraint failed: mytable.hostName 

Это проблема с моим столом, создавая его? Я создаю таблицу следующим образом:

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

UPDATE

Я удалил свой дб полностью и запустить свой код. но есть такая же ошибка ....

+2

Вы пытаетесь вставить одно и то же имя дважды. Он должен быть уникальным в каждой строке – lad2025

+0

Я полностью удалил свой db и снова запустил свой код. но есть и та же ошибка .... – MLSC

ответ

0

Нет проблем при создании таблицы.

Проблема с кодом заключается в том, что вы пытаетесь вставить одно и то же имя узла в таблицу, которая является первичным ключом.

Я предлагаю вам проверить имена хостов перед тем, как вставлять их в таблицу, если они не являются уникальными, измените структуру таблиц.

Надеюсь, это будет полезно.

+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

Смежные вопросы