我正试图用Python插入到这个Cassandra表中
CREATE TABLE IF NOT EXISTS hourly (
cid TEXT,
uid BIGINT,
day DATE,
classes MAP<INT, BOOLEAN>,
PRIMARY KEY (cid, uid, day) )
有了这份准备好的声明:
ins_hourly = cass.prepare(
"INSERT INTO hourly (cid, uid, day, classes)"
" VALUES (?, ?, ?, ?)" )
使用这段代码(数据库已打开并插入到其他表,因此连接有效):
cid = 'foo'
uid = 11380
dt = '2019-10-14'
hr = 11
classes = {hr: True}
row = Cassandra.execute(ins_hourly, cid, uid, dt, classes)
我捕获了异常:“为 bind() 提供的参数太多(得到 12 个,预期为 4)”。
绑定函数是如何将我的4个参数转换为12个的?
希望有什么办法来解决这个问题?
或者,一些使用卡桑德拉MAP,LIST和SET的工作示例,从Python驱动程序将不胜感激。
row = Cassandra.execute(ins_hourly, (cid, uid, dt, classes))
执行中缺少括号。
Python Cassandra编写的语句测试
Eaxmple用于地图数据类型
或者,您也可以使用bind来绑定变量并执行绑定查询。