首页 文章

使用变量插入

提问于
浏览
0

我是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查询中的语法错误]输入中没有可行的替代方法')'

1 回答

  • 1

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

    CQLString = "INSERT INTO mytablecassandra (user, friendlist) VALUES (%s,%s)"
    

    然后执行它并传递like中的值

    session.execute(CQLString, (auser,afriend))
    

相关问题