如何将Sybase上的图像列更改为非空

如何将Sybase上的图像列更改为非空,sybase,Sybase,在Sybase ASE 15.7数据库上,我正在尝试将列类型Image从NULL修改为notnull(我使用的是so;是有效的终止符): 错误消息: Msg 13907, Level 16, State 1 Server 'MYSERVER', Line 1 ALTER TABLE 'LOB_TEST' failed. You cannot modify column 'XML' to TEXT/IMAGE/UNITEXT type. 这适用于int类型列: create table NON

在Sybase ASE 15.7数据库上,我正在尝试将列类型
Image
NULL
修改为
notnull
(我使用的是so
是有效的终止符):

错误消息:

Msg 13907, Level 16, State 1
Server 'MYSERVER', Line 1
ALTER TABLE 'LOB_TEST' failed. You cannot modify column 'XML' to TEXT/IMAGE/UNITEXT  type.
这适用于int类型列:

create table NON_LOB_TEST (XML_ID int NULL);
alter table NON_LOB_TEST modify XML_ID int NOT NULL;
(0 rows affected)

有什么线索吗?我在网上找不到任何东西。谢谢。

文本/图像数据类型由于其存储方式,在内部与其他数据类型非常不同。因此,在INT列上工作的操作在文本/图像列上不工作并不奇怪


文档在这一点上并不十分清楚,但它隐含着这样一种说法:您不能修改文本/图像列的可空性:

我已经尝试过了,我花了大约1个小时。。。不可能。是否无法重新创建表,为
图像
列定义一些
默认值
?我在ASE 16中看到了相同的行为,关键是不重新创建表;我发布的是一个简化的示例,它复制了这个问题,但原始表有4.67亿行。是,这可以通过使用
选择进入
或任何其他允许复制/重新创建数据的方式来完成。多谢各位!
create table NON_LOB_TEST (XML_ID int NULL);
alter table NON_LOB_TEST modify XML_ID int NOT NULL;
(0 rows affected)