내 계획은 데이터 형식이 날짜로 참조되는 MySql 데이터베이스에 날짜(day_of_test)를 삽입하는 것입니다.
아래에 보이는 형식으로 구문을 유지해야 했습니다. 그러나 불행하게도 날짜를 VALUES(%s...) 구문의 문자열로 구체적으로 저장하려는 시도가 작동하지 않는 것 같습니다.
day_of_test를 성공적으로 삽입하기 위해 구문을 조정하는 가장 쉬운 방법을 아는 사람이 있나요?
모두들 정말 감사합니다
import mysql.connector mydb = mysql.connector.connect(host="34.xxx.xxx.xxx", user="xxxx", password="xxxxx", database='btc-analysis-db') c = mydb.cursor() btc_est = 150.2 sap_close = 100.23 gold_close = 120.2 bonds_close = 210.12 btc_actual = 130.12 day_of_test = "2022-04-20" c = mydb.cursor() c.execute( "INSERT INTO `ML1`(`day_of_test`, `btc_est`, `sap_close`, `bonds_close`, `gold_close`, `btc_actual`) VALUES (%s, %d, %d, %d, %d, %d);" % ( day_of_test, btc_est, sap_close, bonds_close, gold_close, btc_actual)) mydb.commit() c.execute("select * from ML1") result = c.fetchall()
파이썬 문자열 형식을 사용하는 경우 날짜 값 주위에 따옴표가 누락되어 있으며 구문은 다음과 같아야 합니다.
으아악하지만 그러면 안 돼요. SQL 주입 및 기타 문제를 방지하기 위해 준비된 문을 사용해야 하며 구문은 다음과 같아야 합니다.
으아악