1
我正在使用Apache derby数据库v 10.9.1.0。有一个现有表格国家-专栏类型bigint的LawID。它包含只有整数数据的记录。由于某些商业原因,我需要将其数据类型从'bigint'更改为'varchar'。我尝试了两种方法来改变现有的表格。但是这两种方式都行不通。将现有列的数据类型从bigint更改为Apache derby中的varchar
a。第一种方式
ALTER TABLE Country ADD COLUMN LawID_NEW VARCHAR(50);
UPDATE Country SET LawID_NEW = LawID;
ALTER TABLE Country DROP COLUMN LawID;
RENAME COLUMN Country.LawID_NEW TO LawID;
它显示像消息:类型VARCHAR'的列不能保持类型“BIGINT”的值。
b。第二方式
ALTER TABLE Country ALTER LawID SET DATA TYPE VARCHAR(50);
它显示例如错误消息:列指定了无效的类型“LawID”。列的类型可能不会更改。
纠正变更查询相关的任何帮助,高度赞赏,感谢