如何将Sybase上的Image列更改为NOT NULL

时间:2015-02-17 04:10:43

标签: sybase

在Sybase ASE 15.7数据库上我尝试将列类型ImageNULL修改为NOT NULL(我使用SQSH所以;是有效的终结符):

create table LOB_TEST (XML image NULL);
alter table LOB_TEST modify XML image NOT NULL;

错误讯息:

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)

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

1 个答案:

答案 0 :(得分:2)

由于存储方式,文本/图像数据类型在内部与其他数据类型非常不同。因此,在INT列上运行的操作在text / image列上不起作用就不足为奇了。

文档在这一点上并不十分清楚,但隐含地说它无法修改文本/图像列的可空性:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1600/doc/html/san1393050903443.html