指定的关键部件太多;最多1份允许cassandra引擎和mariadb

时间:2016-07-16 07:58:34

标签: mysql cassandra datastax

我正在尝试实现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

当我使用单列作为我的主键时,它可以正常工作而没有错误。请帮我解决如何解决复合键问题。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

存储引擎不支持此功能。根据{{​​3}}:

  

注意:目前不支持多列主键。可能会在将来的版本中添加支持,具体取决于是否有需求。

目前还不清楚您是否能够定义复合分区键(即PRIMARY KEY ((test1, test2)))。我也不确定那是否符合你的需求。听起来你应该声明自己的兴趣,如果这就是你所需要的。