2017-03-24 5 views
0

삭제 쿼리를 실행하기 위해 Cassandra Datastax 드라이버를 사용하고 있으며 db에 영향을 미치지 않습니다. 내가 cqlsh를 통해 정확히 같은 쿼리를 실행하면 잘 동작합니다. 터미널에서 다음 코드의Python Cassandra Datastax 드라이버 쿼리가 적용되지 않음

DEL_QUERY = "DELETE FROM x.user_data WHERE username='{0}' AND usertype = 17;".format(NEW_ID) 
    logger.debug("Query:\n %r", DEL_QUERY) 
    cluster = Cluster([CASSANDRA_HOST], port=CASSANDRA_PORT, cql_version=CASSANDRA_CQL_VERSION, auth_provider=CASSANDRA_AUTH_PROVIDER, protocol_version=3) 
    session = cluster.connect(CASSANDRA_KEYSPACE) 
    logger.debug("Executing Query:\n" + DEL_QUERY) 
    if not test_run: 
     session.execute(DEL_QUERY) 

    logger.debug("Query Executed.") 
    cluster.shutdown() 

결과 :

2017-03-27 18:30:10,588 - del - Executing Query: 
"DELETE FROM x.user_data WHERE username='9999999999' AND usertype = 17" 
2017-03-27 18:30:10,630 - del - Query Executed. 

내가 내 쿼리 문자열을 포맷하는 방식에 문제가 있나요?

는 (지금은 시도에 쿼리를 감쌌다/제외하고는 예외 메시지를 인쇄하지 않습니다) 쿼리를 "서식"에 문제가있는 것처럼

+0

포맷 보간 후에 쿼리 문자열을 공유 할 수 있습니까? –

+0

' "x.user_data에서 삭제 username = '9999999999'및 usertype = 17"' – bbakp3

답변

0

보인다.

  1. 포맷 한 후 DEL_QUERY를 인쇄하고 cqlsh에서 확인/실행하십시오.
  2. 포맷하지 않고 파이썬에서 하드 코딩 된 쿼리를 실행 해보십시오.