0
pymysql을 사용하여 mysql 데이터베이스에 삽입하려고합니다. 삽입 및 호출 커밋 후에 데모로 모든 행을 선택하고 인쇄합니다. 새 행이 인쇄되지만 마지막으로 추가 된 행만 표시 (인쇄)되고 auto_incremented Id 필드가 증가하지만 코드를 실행 한 시간과 관계없이 한 행만 표시됩니다. mysql 커맨드 라인 셀렉트 나 Sequel Pro의 "Contents"탭에는 행이 표시되지 않습니다. 나는 모든 관련 "비슷한 질문들"을 검토했다고 믿는다.pymysql을 사용하여 변경 한 내용이 데이터베이스에 "유지"되지 않음
고마워. 인쇄
import pymysql
connCost = pymysql.connect(host='127.0.0.1', port=3306, user='*****', passwd='********', db='CU_COST')
testCur = connCost.cursor()
vF1 = 321
vF2 = '/zero#'
# Transaction implictily started?
query = "Insert Into testInsert (F1, F2) Values(" + str(vF1) + ", '" + vF2 +"')"
testCur.execute(query)
connCost.commit
testCur.execute("Select * From testInsert")
rows = testCur
for row in rows:
print row
testCur.close
connCost.close
결과 (코드 9 번 실행 후)
2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
Python Type "help", "copyright", "credits" or "license" for more information.
[evaluate testInsert2.py]
(9, 321, '/zero#')
부주의로 "vF1 = 321"oops ... – beachboy
명시 적으로 "트랜잭션 시작"및 "커밋"( .execute ("트랜잭션 시작") 사용)을 추가했는데 변경 사항이 지속되는 것 같습니다. . MySql이 암시 적으로 트랜잭션을 시작했으며 .commit을 사용하면 동일한 결과를 얻는 것으로 연구에서 추측하고있었습니다. 어떻게 저것은 저를 위해 작동하지 않는 것을 보인다. 내가 뭔가를 놓치고 있다면 듣고 싶다. 감사 –
beachboy