设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4809|回复: 6
打印 上一主题 下一主题

[求助]如何设置SQL SERVER中数据库表的字段,使其既不会重复,又允许留有NULL空值?

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-8 18:06:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在已有数据的表中新增了个字段,本来想用设置索引唯一值的方法使其值能唯一,但系统提示该字段不能有NULL空值。请问如何设置SQL SERVER中数据库表的字段,使其既不会重复,又允许留有NULL空值?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-8-8 20:47:00 | 只看该作者
创建唯一约束。
如果组成 UNIQUE 约束的列或列组合只包含唯一值或 NULL 值,则可向现有表添加 UNIQUE 约束。一个表可含有多个 UNIQUE 约束。
3#
 楼主| 发表于 2006-8-8 21:27:00 | 只看该作者
我在“索引/键”的界面设,可是不行啊,提示:

'TblAssignment' 表
- 不能创建索引 'AsmSubAcc'。  
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX 终止,因为发现了索引 ID 7 的重复键。最重要的主键为 '<NULL>'。
[Microsoft][ODBC SQL Server Driver][SQL Server]未能创建约束。请参阅前面的错误信息。
[Microsoft][ODBC SQL Server Driver][SQL Server]语句已终止。

这个提示什么意思,我没有要建索引啊。你说的约束是不是指CHECKED约束啊,那个怎么设?
4#
发表于 2006-8-8 23:39:00 | 只看该作者
如果你有多个空值的话,告诉你,没有现成的约束可用。
5#
 楼主| 发表于 2006-8-10 02:28:00 | 只看该作者
那如果表中原来没有数据,创建了“唯一约束”后,该列保留多个NULL值,可不可以?主要是因为原来在ACCESS中可以,但转到SQL SERVER中就不行了,原来的设计都不知道怎么改才能和原来的一样。
6#
发表于 2006-8-10 05:36:00 | 只看该作者
不可以。最多允许一个null。
一定要实现的话只能用触发器等方法,但很麻烦。
7#
 楼主| 发表于 2006-8-10 16:00:00 | 只看该作者
这样只好再加深学习了。THANKS!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 07:25 , Processed in 0.088778 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表