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

  • 相关阅读:
    结合人工智能的高性能医学:现状、挑战与未来
    2019年人工智能行业25大趋势
    睡眠分期--深度学习算法
    并行技术
    元数据--你有没有注意?
    战略、策略与执行
    机器学习前沿03
    元学习--learn to learn
    机器学习前沿02
    机器学习玩法
  • 原文地址:https://www.cnblogs.com/mc67/p/7992893.html
Copyright © 2011-2022 走看看