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

  • 相关阅读:
    富文本 文字图片点击,(TextView)
    swift和oc之间的相互调用(block,代理)
    SVN .a文件丢失问题
    URL Schemes 不能识别和不能跳转的原因
    tableViewcell上放定时器
    app之间的跳转和传参问题
    dicom通讯的工作方式及dicom标准简介
    Dicom格式文件解析器
    消息队列
    c#高级编程第七版 学习笔记 第一章 .NET体系结构
  • 原文地址:https://www.cnblogs.com/mc67/p/7992893.html
Copyright © 2011-2022 走看看