我正在尝试实现cassandra SE和MariaDB互操作性。在cqlsh
中,我可以使用复合键创建表。当我在mariadb中尝试相同时,我收到错误ERROR 1070 (42000): Too many key parts specified; max 1 parts allowed
。
这是我在cqlsh
中使用的代码:
cqlsh:mariadbtest> create table test (test1 int, test2 bigint, test3 varchar, primary key (test1, test2)) with compact STORAGE;
在Mariadb
:
MariaDB [test]> set global cassandra_default_thrift_host='localhost';
MariaDB [test]> create table random (test1 int(5), test2 bigint(5), test3 varchar(20), PRIMARY KEY (test1, test2)) engine=cassandra keyspace='historian' thrift_host='localhost' column_family='test';
ERROR 1070 (42000): Too many key parts specified; max 1 parts allowed
当我使用单列作为我的主键时,它可以正常工作而没有错误。请帮我解决如何解决复合键问题。 任何帮助将不胜感激。
答案 0 :(得分:0)
存储引擎不支持此功能。根据{{3}}:
注意:目前不支持多列主键。可能会在将来的版本中添加支持,具体取决于是否有需求。
目前还不清楚您是否能够定义复合分区键(即PRIMARY KEY ((test1, test2))
)。我也不确定那是否符合你的需求。听起来你应该声明自己的兴趣,如果这就是你所需要的。