>  기사  >  데이터 베이스  >  Python MySQL 업데이트 문의 오류를 수정하는 방법은 무엇입니까?

Python MySQL 업데이트 문의 오류를 수정하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-09 14:32:02754검색

How to Correct Errors in Python MySQL Update Statements?

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))

이 수정된 명령문에서는:

  • 자리 표시자 값(%s)은 SQL 쿼리에 튜플의 일부로 포함됩니다. 이 접근 방식은 SQL 주입 취약점을 방지합니다.
  • SQL 구문은 하나의 명령문에서 여러 열을 업데이트하기 위한 올바른 규칙을 따릅니다.

또는 다음과 같이 업데이트 명령에 기본 문자열 조작을 사용할 수 있습니다. 다음:

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 주입 공격에 취약하므로 권장되지 않습니다.

다양한 데이터베이스 백엔드에서 문자열 교체 규칙과 관련된 잠재적인 문제를 제거하려면 다음을 수행하는 것이 좋습니다. 첫 번째 접근 방식을 사용합니다.

위 내용은 Python MySQL 업데이트 문의 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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