hsqldb更新失败抛出对生成列'Exception的赋值

时间:2012-11-03 12:56:22

标签: sql-update hsqldb

我有更新查询。当我执行以下查询时,它会显示对生成列的分配。

创建表格查询:

CREATE TABLE  group1 (
  main_group varchar(20) GENERATED ALWAYS AS ('N/A'),
  group_name varchar(50) NOT NULL,
  group_id INTEGER GENERATED BY DEFAULT AS IDENTITY(start with 1)
);

更新查询:

update group1 set main_group = 'Asset' where group_name = 'Current Assets'

错误:

Error code -5513, SQL state 42513: assignment to generated column
Line 1, column 1

我已经检查过语法是对的。

编辑:为group1表添加了创建表查询。

帮我解决这个问题...

提前致谢..

1 个答案:

答案 0 :(得分:1)

此表定义测量main_group的值始终生成为字符串'N / A'。因此无法更新。显然你不想要这个。您应该删除GENERATATED ALWAYS AS ('N/A')子句。

如果您希望此列的默认值为“N / A”,则使用DEFAULT子句。您还应该为表定义主键。

CREATE TABLE  group1 (
  main_group varchar(20) DEFAULT 'N/A',
  group_name varchar(50) NOT NULL,
  group_id INTEGER GENERATED BY DEFAULT AS IDENTITY(start with 1) PRIMARY KEY
);