2017-04-01 1 views
3

파이썬을 MySQL 데이터베이스에 연결하기위한 pymysql 모듈을 찾았습니다. 나는 'loot'라는 테이블을 가지고 데이터베이스를 만들고, loot는 'wins'라는 컬럼을 포함하고있다. 내 코드에는 SQL 행 바로 앞에 값이 주어진 'won'이라는 변수가 있습니다. id = 1 인 'wins'열에 'won'변수를 입력하겠습니다. id = 1 행이 이미 데이터베이스에 있습니다.Python 3 MySQL 데이터베이스 테이블 업데이트

아래 코드는 오류를 pymysql.err.InternalError: (1054, "Unknown column 'won' in 'field list'")

내 질문을 던졌습니다 :가 왜이 오류가 무엇입니까 내가 잘못 무엇을하고 있는가?

강령 :

won = 1 
sql = "UPDATE loot SET win = %s WHERE id = %s" 
cursor.execute(sql,(won,1)) 
db.commit() 

당신이 있습니다 :

import pymysql 

# Open database connection 
db = pymysql.connect(host='*******',user='******',password='*****',db='******') 

# prepare a cursor object using cursor() method 
cursor = db.cursor() 

won=1 

# Prepare SQL query to UPDATE required records 
sql = "UPDATE loot SET wins = won WHERE id = 1" 

# Execute the SQL command 
cursor.execute(sql) 

# Commit your changes in the database 
db.commit() 

# disconnect from server 
db.close() 

답변

2

MySQL은 그래서 당신은 .execute()에 인수로 건네 줄 필요가 변수 won를 읽을 수 없습니다 어떤 종류의 컨테이너를 .execute()의 두 번째 인수로 사용합니다. 이 경우 튜플입니다.

+1

메신저 아직도 학습 :-) 이것은 사실 튜플의 내부에있는 튜플이 될까요? – Brandon

+1

이것은 메소드 호출 내부의 튜플입니다. – bernie

+1

우리는 모든 것을 배우며, 그런데 :-) – bernie