2017-12-27 25 views
0

데이터 열을 mySQL 데이터베이스로 업로드하려고합니다. 아래는 문제가되는 코드의 일부입니다. var2var6에이 str 객체로 변환 decimal 객체가 있음을 cursor.execute(sql,(var2, var3, var4, var5, var6)) TypeError: 'str' object is not callable알 수없는 열 '..'필드 목록에서 - mySQL에 개체 삽입

참고 : 코드를 실행하는 경우

cursor = mariadb_connection.cursor() 
cursor.execute=("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))") 
sql ="INSERT INTO table1 (ts, col2, col3, col4, col5, col6)" 
sql += "VALUES (NULL, %s, %s, %s, %s, %s)" 
cursor.execute(sql,(var2, var3, var4, var5, var6)) 

, 나는 다음과 같은 오류가 발생합니다.

업데이트 : 내가 잘못 무엇을 mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'ts' in 'field list'.

어떤 아이디어를하고있는 중이 야 : 문제가있는 줄에서 =를 제거한 후, 지금은 다른 오류를 갖고있는 것 같다?

업데이트 : 알 수없는 열 문제에 대한 솔루션은 기존 테이블을 삭제하고 다시

+0

당신이 다음에 저장할을 사용하는 것입니다 변수 ** var2 ~ var6 **? –

+1

'cursor.execute = ... '로'execute'를 덮어 썼습니다. –

답변

1

cursor.excecute=(...)에서 = 기호를 제거 스크립트를 실행하고이

cursor.execute("CREATE TABLE IF NOT EXISTS table1 (ts TIMESTAMP, col2 char(10), col3 decimal (7,2), col4 decimal (5,2), col5 decimal (7,2), col6 decimal (5,2))") 
+0

고마워요. mysql.connector.errors.ProgrammingError : 1054 (42S22) : 'field list'에 알 수없는 'ts'열이 있습니다. 그러나 나는 이것이 타임 스탬프 열일 것이라고 이미 언급했다. – Craver2000

+1

테이블이 생성되었는지 확인하십시오. 생성 된 경우이 ts 필드가 존재하는지 여부를 확인하십시오. –

+0

감사합니다. 기존 테이블을 삭제 한 다음 스크립트를 다시 실행했습니다. 이제는 잘 작동합니다. – Craver2000