如何将 Sybase 上的图像列更改为 NOT NULL
How to alter Image column on Sybase to NOT NULL
在 Sybase ASE 15.7 数据库上,我试图将列类型 Image
从 NULL
修改为 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)
有什么线索吗?我在网上找不到任何东西。谢谢。
Text/image 数据类型由于其存储方式而在内部与其他数据类型有很大不同。因此,适用于 INT 列的操作不适用于 text/image 列也就不足为奇了。
文档在这一点上不是很清楚,但隐含地说你不能修改 text/image 列的可空性:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1600/doc/html/san1393050903443.html
在 Sybase ASE 15.7 数据库上,我试图将列类型 Image
从 NULL
修改为 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)
有什么线索吗?我在网上找不到任何东西。谢谢。
Text/image 数据类型由于其存储方式而在内部与其他数据类型有很大不同。因此,适用于 INT 列的操作不适用于 text/image 列也就不足为奇了。
文档在这一点上不是很清楚,但隐含地说你不能修改 text/image 列的可空性:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1600/doc/html/san1393050903443.html