zoukankan      html  css  js  c++  java
  • slqserver 主键自动添加聚集索引的问题

    据我们所了解,sqlserver 在添加主键的时候,会自动将我宝贵的聚集索引添加在我们的ID 上,然后,有些时候,我们想添加在

    常用的搜索的字段上,这个时候,如果主键已经创建了;我们可以使用下面的方法来进行更改:

    --create index index_索引名 on 表名(列名)
    
    sp_helpindex 'Category' --查看表的索引
    
    exec sp_helpconstraint 'Category' --查看表的约束
    
    Alter Table Category
    DROP constraint [CATEGORY_PRIMARY_KEY_ID]  --删除约束
    
    Create CLUSTERED Index Category_CLUSTERED_Name --创建聚集索引
    on Category(Name)
    
    DROP INDEX Category.Category_CLUSTERED_Name    --删除索引
    
    --然后我们再添加主键;
    ALTER TABLE CATEGORY
    ADD CONSTRAINT CATEGORY_PRIMARY_KEY_ID PRIMARY KEY(CategoryId)

    那么如何在我们创建主键的时候,不自动添加我们的聚集索引呢;

    答案是这样:

    USE [Test]
      GO
      CREATE TABLE A
      ( 
        ID INT PRIMARY KEY CLUSTERED  --聚集索引
      )
      
      
      ---------------------------------
     USE [Test]
     GO
      CREATE TABLE B
     ( 
       ID INT PRIMARY KEY NONCLUSTERED  --非聚集索引
     )
     
     
    -- DROP TABLE [A]
     --DROP TABLE [B]
    
     sp_helpindex 'A' --查看表的索引
     GO
     sp_helpindex 'B' --查看表的索引

    https://www.cnblogs.com/lyhabc/archive/2013/02/09/2909621.html

    附带:sqlserver 中约束类型

    和常见操作:

    有这几种约束

    NOT NULL
    UNIQUE
    PRIMARY KEY
    FOREIGN KEY
    CHECK
    DEFAULT

    ---添加主键约束
    alter table 表名
    add constraint 约束名 primary key (主键)

    ---添加唯一约束
    alter table 表名
    add constraint 约束名 unique (字段)

    ---添加默认约束
    alter table 表名
    add constraint 约束名 default ('默认内容') for 字段

    --添加检查check约束,要求字段只能在1到100之间
    alter table 表名
    add constraint 约束名 check (字段 between 1 and 100 )

    ---添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)
    alter table 从表
    add constraint 约束名
    foreign key(关联字段) references 主表(关联字段)
    GO

    sql server中删除约束的语句是:

    alter table 表名 drop constraint 约束名

    sp_helpconstraint 表名 找到数据表中的所有列的约束

    这里添加一个基本ef 关于map配置,使用反射进行的configritaon.add info

  • 相关阅读:
    MySQL 数据类型
    MySQL的相关概念介绍
    遍历Map的四种方法
    Hadoop在win7下部署的问题
    Hbase之shell操作
    问题-"Record not found or changed by another user"
    问题-Delphi编译到最后Linking时总是出现与ntdll.dll有关的错误还有Fatal Error Out of memory错误
    教程-CXGRID之cxDropDownEdit密密
    问题-delphi在某电脑(win7)上是界面超乱 DPL
    教程-Delphi调用C# WEBSERVICE(二)
  • 原文地址:https://www.cnblogs.com/mc67/p/7992893.html
Copyright © 2011-2022 走看看