반응형
다음 삽입 작업을 시도하고 있습니다.
cursor.execute("""
insert into tree (id,parent_id,level,description,code,start,end)
values (%d,%d,%d,%s,%s,%f,%f)
""", (1,1,1,'abc','def',1,1)
)
내 MYSQL 테이블의 구조는 다음과 같습니다.
id int(255),
parent_id int(255),
level int(11),
description varchar(255),
code varchar(255),
start decimal(25,4),
end decimal(25,4)
그러나 프로그램을 실행할 때 오류가 발생합니다.
"파일"/usr/lib/pymodules/python2.6/MySQLdb/cursors.py ", 151 행, 실행 중 쿼리 = 쿼리 % db.literal (args)
유형 오류 : % d 형식 : str이 아닌 숫자가 필요합니다. "
해결 방법
형식 문자열은 실제로 일반적인 Python 형식 문자열이 아닙니다. 모든 필드에 항상 % s
를 사용해야합니다.
args가 목록 또는 튜플이면 % s를 쿼리에서 자리 표시 자 로 사용할 수 있습니다. args가 dict이면 % (name) s를 쿼리에서 자리 표시 자로 사용할 수 있습니다.
-> 즉, 여기서 % s
는 포맷터가 아니지만 자리 표시 자 입니다.
참조 페이지 https://stackoverflow.com/questions/5785154
반응형
'MySql' 카테고리의 다른 글
MySQL 상위 쿼리의 필드를 참조하는 MySQL 하위 쿼리 (0) | 2020.10.10 |
---|---|
MySQL Oracle 데이터베이스를 MySQL로 어떻게 변환합니까? (0) | 2020.10.10 |
MySQL SELECT 하위 쿼리의 결과를 사용하여 열 업데이트 (0) | 2020.10.10 |
MySQL gem install mysql 실패 (0) | 2020.10.10 |
MySQL 자바의 mysql select 문에서 데이터 검색 (0) | 2020.10.10 |
댓글