필자가 작성한 python 스크립트를 사용하여 일부 csv 파일의 데이터를 SQLite3 데이터베이스에 삽입합니다. 내가 스크립트를 실행하면 데이터베이스에 첫 번째 행을 삽입하지만, 두 번째 인세 노력이 오류를 제공합니다SQLite3 열이 고유하지 않습니다.
sqlite3.IntegrityError: columns column_name1, column_name2 are not unique.
그것은 사실이다 COLUMN_NAME1 및 COLUMN_NAME2의 값의 처음 두 행에서 동일 CSV 파일 그러나이 오류에 대한 읽기는 하나 이상의 데이터베이스 열에 대한 고유성 제약 조건을 나타 내기 때문에 조금 이상하게 보입니다. SQLite Expert Personal을 사용하여 데이터베이스 세부 정보를 확인했으며 현재 테이블에 고유성 제약 조건을 표시하지 않았습니다. 또한 입력 할 필드 중 어느 것도 기본 키를 지정하지 않습니다. 그것은 데이터베이스가 자동으로 할당하는 것 같습니다. 이 오류의 원인은 무엇입니까? 감사.
import sqlite3
import csv
if __name__ == '__main__' :
conn = sqlite3.connect('ts_database.sqlite3')
c = conn.cursor()
fileName = "file_name.csv"
f = open(fileName)
csv_f = csv.reader(f)
for row in csv_f:
command = "INSERT INTO table_name(column_name1, column_name2, column_name3)"
command += " VALUES (%s, '%s', %s);" % (row[0],row[1],row[2])
print command
c.execute(command)
conn.commit()
f.close()
왜이 게시물을 투표에 넣었습니까? 나는 적절한 연구 배경을 보여 주었고 문제에 대한 명확한 설명을 가지고 있다고 생각한다. 확실히 내 코드를 복사하여 붙여 넣기하지 않고 "이게 뭐가 잘못 되었나요?"라고 물었습니다. –