我一直在尝试同时执行这两个查询:
ALTER TABLE afm.owned_properties_rpt_table
ALTER COLUMN bl_id CHAR(8) NOT NULL;
ALTER TABLE afm.owned_properties_rpt_table
ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id);
但是我收到了这个错误:
男装。 8111,Nivel 16,Estado 1,Línea3
无法在表中的可空列上定义PRIMARY KEY约束 'owned_properties_rpt_table'。男装。 1750年,Nivel 16,Estado 0,Línea3
无法创建约束。查看以前的错误。
似乎不知何故,第二行在第一行完成之前执行。
我尝试过使用begin transaction / commit事务结构更改分号,并创建一个辅助列,我在bl_id中复制数据然后删除旧列,所有这些都没有成功。
SQL脚本需要在客户端的服务器上执行(我无法干预),因此不能替代代码。
如果我遗漏了一些基本的东西,我很抱歉,我也在几个小时内搜索了同样的问题而没有成功。
感谢您的帮助。
答案 0 :(得分:0)
试试这个
ALTER TABLE afm.owned_properties_rpt_table ALTER COLUMN bl_id CHAR(8) NOT NULL default 'sometest';
GO
ALTER TABLE afm.owned_properties_rpt_table ADD CONSTRAINT owned_properties_rpt_table_PK PRIMARY KEY (bl_id);