2016-08-26 7 views
2

제목을 참조하십시오. PyMYSQL에 의해 mysql 데이터베이스의 일부 행을 업데이트해야하며, 변경된 행의 수는 입니다.PyMSQL에 의해 UPDATE 문에서 영향을받는 행을 얻는 방법

코드 : mysql-affected-rows : 이 import pymysql db = pymysql.connect(xxxx) cur = db.cursor() sql = "update TABLE set A = 'abc' where B = 'def'" cur.execute(sql, params) db.commit()

답변

6

MySQL은 당신이 정확히 달성하는 데 도움이됩니다 특별한 전화를 제공합니다. 이 함수는 업데이트 된 값이 비슷한 행이 아닌 영향을받은 행 수만 반환하므로 업데이트시 특히 유용합니다. 문서는 here입니다.

어떻게 이것을 파이썬에서 사용합니까? returnexecute이면 정확하게 반환합니다.

affected_rows = cur.execute(sql, params) 
+0

Thx하지만 모든 반환 값은 0이지만 일부 행까지 영향을받습니다. 왜요? – island

+0

그래, 알았어, 고마워! – island

1

단계를 실행 한 후에 cursor.rowcount을 수행 할 수 있습니다. Ff 반환 값이 0과 반대 인 경우 하나 이상의 행이 영향을 받는다는 의미입니다.

+0

Thx하지만 모든 반환 값은 0이지만 일부 행까지 영향을받습니다. 왜요? – island

+0

"db.commit()"을 실행하기 전에 rowcount를 얻는 것이 중요합니까? – island

+0

나는 그것을 얻었다, 당신을 대단히 감사하십시오! 방금 ​​잘못된 UPDATE 문을 작성합니다! – island