我是cassandra的新手并尝试使用Python在Cassandra键空间中插入。我有一个使用cql创建的表mytablecassandra:
cqlsh:mykeyspace>>CREATE TABLE mytablecassandra(user text PRIMARY KEY, friendlist list<text>);
这里我读了一个文本文件并有变量
auser
和
afriend
这些变量的值如
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;
的备选方案
答案 0 :(得分:1)
你的字符串不会以这种方式扩展,也不是真正推荐的方式(这种方式通常是SQL注入攻击)。相反,您应该使您的查询字符串具有值
等值的占位符CQLString = "INSERT INTO mytablecassandra (user, friendlist) VALUES (%s,%s)"
然后执行它并传递类似
中的值session.execute(CQLString, (auser,afriend))