1
현재 시간 스탬프, 즉 now()
을 내 mariadb (SQL) 테이블에 추가하려고하지만 터미널에서 스크립트를 실행하면 오류가 발생합니다.다른 변수와 함께 mariaDB 테이블에 타임 스탬프를 삽입하십시오.
이 스크립트의 문제 부분은 다음과 같습니다
cursor.execute("INSERT INTO outdoorsensorstable
(time, col2, col3, col4, col5, col6, col7)
VALUES (%s, %s, %s, %s, %s, %s, %s)",
(now(), '', '', data4, '', data6, ''))
(데이터 4 및 데이터 6 전에이 내 스크립트에서 생성 된 변수입니다.)
내가 오류는 다음과 같습니다 TypeError: 'datetime.datetime' object is not callable
나는 다음과 같은 값 세그먼트에 now()
을 배치하여이 문제를 해결하려고 :
cursor.execute("INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) VALUES (now(), %s, %s, %s, %s, %s, %s)", ('', '', '', data4, '', data6, ''))
하지만 스크립트 실행에 또 다른 오류가 발생합니다 :
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement
어떤 아이디어 이유와 내가이 문제를 해결하는 방법을?
감사합니다 : 그것은이 하드 코딩되고 같은 매개 변수가 아니기 때문에 그냥
NOW()
에 대한 모든 매개 변수를 전달하지 않습니다. 어떻게해야합니까? 나는 인용 부호'cursor.execute ("INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) VALUES (now(), % s, % s, % s, % s, % s) now()에 해당하는 부분에 대해서는 ",", (data4, '', data6, ''))'이 표시되지만 다른 오류가 발생합니다. – Craver2000@ Craver2000 더 쉽게 읽을 수 있도록 답을 다시 포맷했습니다. 작동하지 않으면 다른 모양과 의견을 표하십시오. –
@ Craver2000 실행 한 코드는 내 답변에 나와있는 _not_이 아닙니다. 당신이 잘못 복사하거나 길을 따라 오타를 만들었습니다. –