我继承了其上具有启用了“unique auto_identity index设置”选项Sybase数据库。 作为升级过程的一部分,我需要一些额外的列在这个数据库中,即添加到表
alter table mytable add <newcol> float default -1 not null
当我尝试这样做,我得到了如下错误:
Column names in each table must be unique, column name SYB_IDENTITY_COL in table #syb__altab....... is specifed more than once
是否有可能将列添加到一个表,这个属性启用?
更新1:
我创建了下面的测试复制问题:
use master
sp_dboption 'esmdb', 'unique auto_identity indexoption',true
use esmdb
create table test_unique_ids (test_col char)
alter table test_unique_ids add new_col float default -1 not null
这里的alter table命令产生错误。 (已在ASE试过这个15 / Solaris和15.5 /视窗)
更新2:
这是在Sybase DBISQL界面中的错误,客户端工具Sybase Central和Interactive SQL使用来访问数据库,并似乎只影响表的“unique auto_identity index设置”选项启用。
要解决的问题使用不同的SQL客户端(通过JDBC例如)连接到数据库或在命令行上用isql。