使用变量插入

时间:2016-09-03 11:38:00

标签: python cassandra insert

我是cassandra的新手并尝试使用Python在Cassandra键空间中插入。我有一个使用cql创建的表mytablecassandra:

cqlsh:mykeyspace>>CREATE TABLE mytablecassandra(user text PRIMARY KEY, friendlist list<text>);

这里我读了一个文本文件并有变量 auserafriend

这些变量的值如

auser = 'ABC'afriend = ['DEF','GHI','JKL']

现在我想在我的Cassandra表中插入这些变量

from cassandra.cluster import Cluster
cluster = Cluster()

session = cluster.connect('mykeyspace')
CQLString = """INSERT INTO mytablecassandra(user,friendlist) VALUES (auser, afriend)"""
session.execute(CQLString);

并获得错误

  

ErrorMessage code = 2000 [CQL查询中的语法错误]不可行   输入&#39;)&#39;

的备选方案

1 个答案:

答案 0 :(得分:1)

你的字符串不会以这种方式扩展,也不是真正推荐的方式(这种方式通常是SQL注入攻击)。相反,您应该使您的查询字符串具有值

等值的占位符
CQLString = "INSERT INTO mytablecassandra (user, friendlist) VALUES (%s,%s)"

然后执行它并传递类似

中的值
session.execute(CQLString, (auser,afriend))