加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

不能在具有唯一索引 'dwtxi' 的对象中插入重复键的行

(2009-03-14 14:00:50)
标签:

杂谈

分类: SQL Server

数据库里面如果规定了没有重复,你还能怎么办,  
  唯一的办法只有改数据库结构了,改成   允许重复了

 

方法1. 利用企业管理器查看、修改和删除索引

    要查看和修改索引的详细信息,可以在企业管理器中,展开指定的服务器和数据库项,用右键单击要查看的表,从弹出的快捷菜单中选择所有任务子菜单中的“管理索引”选项,则会出现管理索引对话框。选择要查看或者修改的索引,单击“编辑”按钮,就会出现修改索引对话框。在该对话框中,可以修改索引的大部分设置,还可以直接修改其SQL脚本,只需按下“编辑SQL…”按钮,即可出现编辑SQL脚本对话框,其中可以编辑、测试和运行索引的SQL脚本。

    要删除索引,可以在企业管理器中,从管理索引对话框中或者表的属性对话框中,选择要删除的索引,单击“删除”按钮,即可删除索引。

方法2. 用系统存储过程查看和更改索引名称

系统存储过程sp_helpindex可以返回表的所有索引信息,其语法形式如下:

sp_helpindex [@objname=]’name’

其中[@objname=]’name’参数用于指定当前数据库中的表的名称。
另外,系统存储过程sp_rename可以用来更改索引的名称,其语法形式如下:

sp_rename[@objname=]'object_name',
[@newname=]'new_name'
    [ , [ @objtype = ] 'object_type' ]

例子:

更改employees表中的索引employees_name_index名称为employees_name_ind,其程序清单如下:

Exec sp_rename ‘employees.[employees_name_index]’, ‘employees_name_ind’, ‘index’

方法3. 使用Transact-SQL语句中的DROP INDEX命令删除索引

当不再需要某个索引时,可以将其删除,DROP INDEX命令可以删除一个或者多个当前数据库中的索引,其语法形式如下:

DROP INDEX 'table.index | view.index' [ ,...n ]

其中,table | view用于指定索引列所在的表或索引视图;index用于指定要删除的索引名称。注意,DROP INDEX命令不能删除由CREATE TABLE或者ALTER TABLE命令创建的主键或者唯一性约束索引,也不能删除系统表中的索引。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有