我正在为 Apache Cassandra 使用插件 DataStax Python 驱动程序。
我想从数据库中读取 100 行,然后在更改一个值后将它们再次插入数据库。我不想错过以前的记录。
我知道如何获取我的行:
rows = session.execute('SELECT * FROM columnfamily LIMIT 100;')
for myrecord in rows:
print(myrecord.timestamp)
我知道如何将新行插入数据库:
stmt = session.prepare('''
INSERT INTO columnfamily (rowkey, qualifier, info, act_date, log_time)
VALUES (, ?, ?, ?, ?)
IF NOT EXISTS
''')
results = session.execute(stmt, [arg1, arg2, ...])
我的问题是:
- 我不知道如何连续更改一个值。
- 我不知道如何在不使用 CQL 的情况下将行插入数据库。我的 columnfamily 有 150 多个列,在查询中写下它们的所有名称似乎不是一个好主意。
总结一下:有没有办法获取行,从每个行中修改一个值,然后将这些行插入数据库而不只使用 CQL?