GBase 8s
适配迁移
问答

迁移之后无法修改表结构

发表于2025-03-06 14:48:04109次浏览8个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】: 3.5.1_3X2_1_8fbc0b

【操作系统】: 麒麟系统

【CPU】: x86_64

【问题描述】*: 从mysql数据库迁移,原始类型为bit,迁移到GBase中为boolean类型,默认值为f,数据迁移没问题,修改对应的java代码,程序也无问题。

但是因为业务问题,需要调整表字段,修改类型,会提示:SQL 错误 [IX000]: 在没有强制转型函数的情况下将一种不透明类型转换成另一种类型的尝试失败。

具体sql:ALTER TABLE red_confirm MODIFY invoice_line varchar(20) NOT NULL;

将该boolean字段删除后,可以对该表结构进行相关操作

有没有其他解决办法,在不删除该迁移字段的情况下进行表结构修改

评论

登录后才可以发表评论
用户头像
路路路发表于 1年前
稍等
用户头像
liaosnet发表于 1年前
修改的字段是什么类型?
BTW:bit类型迁移迁为smallint/int。
GBase用户26062发表于 1年前
@liaosnet:修改的字段之前是char,修改后是varchar,但是无论修改哪个字段都不行,只要上面的这个deleted存在,默认值是f的情况下
用户头像
liaosnet发表于 1年前
@GBase用户26062:工具修改的?
用户头像
liaosnet发表于 1年前
@GBase用户26062:简单的尝试,没出现过你说的这个问题。
能否提供该表的完整结构?
GBase用户26062发表于 1年前
@liaosnet:已经解决了,将该deleted默认值改为0就可以修改了,然后处理完再改回默认值f
最佳回答
用户头像
levvel发表于 9个月前
听说评论可以拿积分,我试一下子
GBase用户47954发表于 2个月前
感谢作者的精彩分享!