2014-07-05 2 views
1

간단한 질문에 대해 유감스럽게 생각합니다. 하지만 난 정말이 SQL 문 (파이썬)의 실수를 찾을 수 없습니다 :sql 테이블 및 데이터 정밀도 만들기

cursor.execute('CREATE TABLE measure_%s (id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ztime int(11), mvalue DOUBLE)', (ptype,)) 

"mvalue는"12.34와 같은 값이 있습니다.

sql = """CREATE TABLE measure_"""+ptype+""" (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
ztime int(11), 
mvalue FLOAT(5,2))""" 
cursor.execute(sql) 

을하지만 난 여전히 처음에 차이를 볼 수 없습니다 : 그래서 DOUBLE이 올바른 것 같다 0 40에서 그

이 하나의 작품 ...이 개 소수와 값을 의미한다.

+0

시도의 FLOAT는 – stormCloud

답변

1

테이블 조작 명령문이 아닌 값에 DBAPI 자리 표시자를 사용하십시오. 데이터베이스가 다른 유형을 이해하는 인용 -

하지만 cur.execute("insert into people values (?, ?)", (who, age)), "CREATE TABLE {}".format('mytable') (파이썬 서식)입니다

.

http://ianhowson.com/a-quick-guide-to-using-mysql-in-python.html

+0

어떻게 당신이 올바른 방법으로 처음 명령문을 작성 DOUBLE하지 ('두 가지가 원인)? – user3142695