2016-10-31 5 views
0
1 
Traceback (most recent call last): 
    File "simulate_db.py", line 141, in <module> 
    cursor.execute("INSERT INTO accountsevents (accounts_id, events_id, date_created) VALUES ({0},{1}, TIMEZONE('utc', CURRENT_TIMESTAMP));".format(work, eventid)) 
psycopg2.IntegrityError: null value in column "id" violates not-null constraint 
DETAIL: Failing row contains (null, 2016-10-30 21:14:36.192339, 2016-10-30 21:14:36.192339, 1, 2, f, f, null). 

정보를 데이터베이스에 직접 덤프하는 시뮬레이터가 있습니다. 추적 바로 위에 숫자 1이 표시됩니다. 값이 workprint이며 형식 메서드의 변수입니다. 어떤 이유로 SQL 표현식에서 null로 나타납니다. 나는 여기서 무슨 일이 벌어지고 있는지 이해하려고 노력하고있다. 이 원격 VPS에 있지만 동일한 시뮬레이터 파일을 로컬로 잘 작동합니다.파이썬 형식 값이 null로 반환됩니다.

아이디어가 있으십니까?

답변

1

나는 확인하기 위해 더 많은 정보가 필요합니다,하지만 오류가 null 값이 열 id에서하지 null이 제약 조건을 위반하는 것을 말한다, 그러나 당신은 accounts_id 열에 work의 값을 삽입하고 있습니다.

id 열의 값을 입력해야합니다.

+0

그래, 나는 그 게시물을 만든 후에 나타났습니다. id 필드가 자동으로 증가해야하기 때문에 이상합니다. 나는 그것을 설정할 필요가 없어야한다. 포스트 그레스 설정을 좀 더 파헤쳐 야겠네. – DigitalDisaster

+1

Yup 해당 테이블의 ID에 대해 자동 증가가 구성되어 있지 않습니다. 기묘한. 적어도 나는 올바른 방향으로 가고 있습니다. 감사. – DigitalDisaster

관련 문제