使用SQuirrel SQL client 3.6创建hbase表的Creting视图

使用SQuirrel SQL client 3.6创建hbase表的Creting视图,hbase,squirrel-sql,phoenix,Hbase,Squirrel Sql,Phoenix,我已经使用SQuirrel SQL client 3.6创建了hbase表。下面是我尝试过的问题- create table test (mykey integer not null primary key, mycolumn varchar); upsert into test values (1,'Hello'); upsert into test values (2,'World!'); create view "TEST" (ID BIGINT NOT NULL PRIMARY KEY

我已经使用SQuirrel SQL client 3.6创建了hbase表。下面是我尝试过的问题-

create table test (mykey integer not null primary key, mycolumn varchar);
upsert into test values (1,'Hello');
upsert into test values (2,'World!');
create view "TEST" (ID BIGINT NOT NULL PRIMARY KEY, "TEST".mycolumn varchar);
现在我正在尝试使用SquirrelSQL客户机3.6创建视图。下面是我尝试过的问题-

create table test (mykey integer not null primary key, mycolumn varchar);
upsert into test values (1,'Hello');
upsert into test values (2,'World!');
create view "TEST" (ID BIGINT NOT NULL PRIMARY KEY, "TEST".mycolumn varchar);
此创建视图查询返回以下错误-

Error: ERROR 505 (42000): Table is read only.
SQLState:  42000
ErrorCode: 0

请说明问题所在。

由于视图的名称,引发此错误。如果没有双引号,Phoenix会将这些名称转换为大写。 因此,在编写表名或列名时需要小心

测试”和“测试”在这种情况下被认为是不同的

在上面的查询中,视图名称将是“test”,而“myColumn”应该用双引号表示

create view "test" (ID BIGINT NOT NULL PRIMARY KEY, "test"."mycolumn" varchar);

我看到您创建了表“test”,但在视图中将其称为“test”(大写而不是小写)。这可能只是一个案件敏感性的问题吗?尝试将“TEST”改为“TEST”,其中“TEST”是mycolumn,看看会发生什么。@dunce1我不这么认为,谢谢你的建议。我以后再试试。