변수로 Python MySQL 업데이트 문 수정
Python 업데이트 문을 사용하여 MySQL 레코드를 업데이트하려고 하면 사용자에게 오류가 발생할 수 있습니다. 이 문제를 해결하려면 구문을 확인하고 올바르게 적용되었는지 확인하는 것이 중요합니다.
잘못된 설명:
cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
분석:
잘못된 문자열 연결과 '분' 변수에 대한 자리 표시자가 누락되어 잘못된 명령문이 실패합니다. 이 문장을 작성하는 올바른 방법은 다음과 같습니다.
올바른 문장:
cursor.execute (""" UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server=%s """, (Year, Month, Day, Hour, Minute, ServerID))
대체 구문:
또는, 문자열 조작을 사용할 수 있습니다:
cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
주의:
대체 구문이 작동할 수도 있지만 응용 프로그램이 SQL 삽입 공격에 취약해지기 때문에 사용하지 않는 것이 좋습니다. . 권장되는 접근 방식은 올바른 설명에 표시된 대로 자리 표시자를 사용하는 것입니다.
데이터베이스 호환성:
또한 일부 데이터베이스 백엔드에는 다른 문자열 대체 규칙이 있을 수 있습니다. 예를 들어 SQLite는 '?'를 사용합니다. 자리 표시자를 '%s' 대신 사용합니다.
위 내용은 내 Python MySQL 업데이트 문이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!