SQLserver数据库主键设置问题,大小写敏感与非空不能同时共存

SQLserver数据库使用以下SQL语句添加主键失败问题
alter table dbo.RIS_Report alter column RISR_ReportID int not null; --设置非空
ALTER TABLE PA_DIAGNOSE ALTER COLUMN PAD_DIAGCODE varchar(50) COLLATE Chinese_PRC_CS_AS;--修改排序规则,大小写敏感
这样执行,第一句执行成功,当第二句执行成功时,第一句设置的字段非空又失效了
意思是二者不能共存,不知道为什么?

2个回答

大小写不敏的,这是所有sql语句都共存的,至于主键本来不应该就是非空的吗?

listener_life
listener_life sql语句本身就是大小写不敏感的,你修改这个有何意义呢?
大约 2 年之前 回复
qq_38889905
q侠岚q 改为非空,然后执行修改大小写敏感,然后非空的字段又变为可空,就是这个问题
大约 2 年之前 回复
listener_life
listener_life 回复q侠岚q: 那你直接将某一个字段设置为主键不就行了吗?没看懂你这两条语句是要修改什么?而且你这貌似是两个!
大约 2 年之前 回复
qq_38889905
q侠岚q 对,主键是非空的,现在的问题是我需要用这两条语句先进行修改,然后添加主键,原表没有主键,大小写不敏感
大约 2 年之前 回复

以上修改的两个表不是同一个啊,如果设置主键的话,列默认就是不允许唯恐的,不需要再去设置。大小写敏感的问题就像你第二条sql一样,通过设置列的字符排序规则就可以了,没有说两者不能共存啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!