Warning: (1292, "Incorrect datetime value: ''2019-12-16 00:00:00'' for column 'date_time' at row 1") result = self._query(query)
위 에러 발생시, 쿼리 입력이 정상적으로 진행되지 않습니다.
conn = pymysql.connect(host='666.777.888.999', port=3306, db='testDB', user='testuser', passwd='testpassword', charset='utf8')
cur = conn.cursor()
sql = 'DELETE FROM Filtered WHERE date_time BETWEEN "%s" AND "%s"'
print(sql % (target_date+' 00:00:00', target_date + ' 23:59:59'))
cur.execute(sql, (target_date+' 00:00:00', target_date + ' 23:59:59'))
print 된 쿼리 내용을 복붙하여 mysql에 직접 명령할 경우 문제없이 잘 진행되나, python으로 진행하면 오류가 발생하며 진행되지 않았습니다.
sql 문구의 "%s"가 문제였습니다. 아래와 같이 수정해주고 진행하면 정상적으로 진행됩니다.
sql = 'DELETE FROM Filtered WHERE date_time BETWEEN %s AND %s'
DELETE FROM Filtered WHERE DeviceReportedTime BETWEEN 2019-12-16 00:00:00 AND 2019-12-16 23:59:59