>  기사  >  데이터 베이스  >  내 Python MySQL 업데이트 문이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

내 Python MySQL 업데이트 문이 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-08 13:26:02671검색

Why is My Python MySQL Update Statement Failing, and How Can I Fix It?

변수로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.