我有更新查询。当我执行以下查询时,它会显示对生成列的分配。
创建表格查询:
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表添加了创建表查询。
帮我解决这个问题...
提前致谢..
答案 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
);