2017-12-13 4 views
1

내 SQL 쿼리는 다음과 같습니다 Django에서 MySQL의 join 쿼리를 실행하는 방법은 무엇입니까? 터미널에서 완벽하게 실행

select t.txid, t.from_address, t.to_address, t.value, t.timestamp, 
    t.conformations, t.spent_flag,t.spent_txid from transaction_details t 
    where t.to_address =(select distinct a.address from address_master a 
    inner join panel_user p on a.user = p.user and a.user= "auxesis"); 

지금 나는이 같은 장고를 사용하여 시도 :

sql = """ select t.txid, t.from_address, t.to_address,t.value, t.timestamp, t.conformations, t.spent_flag,t.spent_txid from 
transaction_details t where t.to_address =(select distinct a.address from 
address_master a inner join panel_user p on a.user = p.user and a.user= "%s" """),%(user) 
    cursor.execute(sql) 
    res = cursor.fetchall() 

을하지만 나중에는 작동하지 않습니다. 그래서 아무도 그것으로 나를 도와주지?

+3

내장 ORM을 사용하지 않는 이유는 무엇입니까? –

+1

또한 SQL 명령을 작성하기 위해 문자열 보간을 절대 사용하지 않아야합니다. –

답변

0

문자열 형식을 사용하여 SQL 쿼리를 작성하려고합니다. 매개 변수화 된 쿼리를 사용하십시오. 그렇게하면 자리 표시 자 주위에 따옴표를 추가하지 않고 데이터베이스 커넥터가 매개 변수의 이스케이프 처리를 처리합니다. 인수를 튜플로 전달하십시오.

sql = """ select t.txid, t.from_address, t.to_address,t.value, t.timestamp, t.conformations, t.spent_flag,t.spent_txid from 
transaction_details t where t.to_address =(select distinct a.address from 
address_master a inner join panel_user p on a.user = p.user and a.user = %s """) 
cursor.execute(sql, (user,)) 
res = cursor.fetchall() 
관련 문제