programing

다른 변수와 함께 mariaDB 테이블에 타임스탬프 삽입

megabox 2023. 10. 31. 20:41
반응형

다른 변수와 함께 mariaDB 테이블에 타임스탬프 삽입

현재 타임 스탬프를 추가하려고 합니다.now()내 mariadb(SQL) 테이블에 들어가지만 터미널에서 스크립트를 실행하면 오류가 발생합니다.

이 스크립트에서 문제가 되는 부분은 다음과 같습니다.

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()다음과 같이 VALUES 세그먼트로 이동합니다.

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(), 하드 코딩되고 있기 때문에 파라미터가 아니기 때문입니다.

sql = "INSERT INTO outdoorsensorstable (time, col2, col3, col4, col5, col6, col7) "
sql += "VALUES (now(), %s, %s, %s, %s, %s, %s)"
cursor.execute(sql, ('', '', data4, '', data6, ''))

언급URL : https://stackoverflow.com/questions/47950587/inserting-timestamp-into-mariadb-table-along-with-other-variables

반응형