主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在一张表中的记录值是唯一的。

建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。

1.在数据库提供的GUI环境中建立(以SQL7为例)。

输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。

2.通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。

在建表语句中直接写:

CreateTable表名(字段名1IntNotNull,

字段名2nvarchar(13)NotNullPrimaryKey(字段名1,字段名2),

字段名3…………

字段名N…………)

建表之后更改表结构:

CREATETABLE表名(字段名1IntNotNull,

字段名2nvarchar(13)NotNull

字段名3…………

字段名N…………)

GO

ALTERTABLE表名WITHNOCHECKADD

CONSTRAINT[PK_表名]PRIMARYKEYNONCLUSTERED

(

[字段名1],

[字段名2]

)

GO

如何在sqlserver数据库表中建立复合主键相关推荐

  1. mysql 联结主键_联结表中的复合主键 - Sequelize

    使用Sequelize和MySQL数据库,我试图在联结表中实现复合主键组合,但遗憾的是没有结果 . 我有 table : 它们与许多人有很多关系 . 在联结表user_has_project中,我想要 ...

  2. 数据库为何要有复合主键(多主键)

    最近学习一点数据库的基本知识,被一个问题困惑了许久:主键是唯一的索引,那么为何一个表可以创建多个主键呢? 其实"主键是唯一的索引"这话有点歧义的.举个例子,我们在表中创建了一个ID ...

  3. 一个表对应另一个表中多个主键的查询方法(把一个表当成两个表用)

    表t_Record PID(主键)   SendUserID(发送人)   ReceiveUserID(接收人)    1              1                      2 ...

  4. SQL 一个表中可不可以没有主键

    主键的作用: 1)保证实体的完整性; 2)加快数据库的操作速度 3)在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复. 4) 数据库自动按主键值的顺序显示表中的记录 ...

  5. mysql复合主键优缺点_MySQL中的复合主键性能缺陷

    INSERT 和 UPDATE 性能变化很小: (INT) 和 (INT, INT) 键几乎相同 . SELECT 复合 PRIMARY KEY 的性能取决于很多因素 . 如果您的表是 InnoDB ...

  6. 获取SQL-SERVER数据库insert into操作的主键返回值

    插入一条记录后想要立刻获取其数据表中的主键返回值.这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来.或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方 ...

  7. 在一表中设置组合主键(两个字段组合成一个主键)

    首先一个表是不能有两个主键的.但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了.          我们可以先删除了原来的主键再 ...

  8. 恢复误删sqlserver数据库表中的数据

    想要恢复误删的数据需要满足以下条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是"完全(Full)". 同时满足两个条件只 ...

  9. sqlserver数据库 表中字段值有空格,如何去除空格(例如char (5) 存入数据不足5位时sqlserver会自动补空格)...

    普通的空格 前后的空格,使用LTrim和RTrim即可,例如:LTrim(RTrim(Name)) 中间的空格,使用replace函数替换,例如:Replace(Name,' ','') 如果是普通的 ...

最新文章

  1. 如何解决资料下载下来为index.html和PHP文件的问题?
  2. filter[过滤器]使用大全
  3. Oracle增加修改删除字段/主键
  4. implementation of CreateBindingContext
  5. 深入LINQ | 动态构建LINQ表达式
  6. IBM JVM调整– gencon GC策略
  7. MacOS 下如何创建文本文件
  8. redis实现cache系统实践(六)
  9. 自加一运算_C语言i++、++i混合运算老手未必全掌握,看了你就明白了
  10. java题-java运行时异常与一般异常有何异同?
  11. 防止浏览器拦截的新窗口打开链接方案
  12. linux service start|stop|restart
  13. 机器学习最常用的损失函数之交叉熵
  14. python:rs, ws, es = select.select(inputs, [], []) --报错error 10022
  15. 调整IT外包业务合同 降低外包价格
  16. 【李小丫的笔记】DataWhale金融风控预测Task1
  17. java计算机毕业设计智能外包管理平台源码+数据库+系统+lw文档
  18. 硬件设计基础——电阻、电容、电感、磁珠
  19. 计算机专业人才培养评价意见,谈高职计算机专业人才培养综合评价.pdf
  20. 腾讯云乐固客户端加固打包上线流程

热门文章

  1. python 爬虫源代码-Python爬虫学习之获取指定网页源码
  2. 对于python来说、一个模块就是一个文件-python常用模块
  3. python输入语句-python2 和 pyhton3 输入语句写法
  4. python文件读取输出-Python 读取和输出到txt
  5. python培训班时间 费用-Python培训班大概多少钱?老男孩Python培训
  6. linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)
  7. Linux中的chmod权限问题
  8. 鸿蒙系统的功能如何,华为鸿蒙系统发布会,这个功能怎么那么像小米MIUI的
  9. elasticsearch7.x源码编译
  10. LeetCode Largest Divisible Subset(动态规划)