我想将表 d_etl_queries
中 batch_calc_query
列的数据类型 TEXT
更改/修改为 LVARCHAR(10000)
。我通过执行以下命令来做到这一点:
ALTER TABLE d_etl_queries MODIFY (batch_calc_query LVARCHAR(10000));
但是,它给了我以下错误:
9633: ALTER TABLE can not modify column (batch_calc_query) type. Need a cast from the current type
有什么办法可以避免这个错误吗?
最佳答案
运行两条语句:
CREATE TABLE blob_to_lvarchar(s SERIAL NOT NULL PRIMARY KEY, b TEXT IN TABLE);
ALTER TABLE blob_to_lvarchar MODIFY b LVARCHAR(10000);
生成所通告的错误。没有一个简单的方法可以解决这个问题 - 您必须向系统添加一个强制转换 (CREATE CAST),并使用适当的 C 函数进行备份才能进行更改。
您将需要卸载该表,删除它,使用正确的列类型重新创建它,然后重新加载该表。
关于sql - 将表中列的数据类型从 TEXT 更改为 LVARCHAR(10000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64333623/