精华内容
下载资源
问答
  • 1、数据库的每张只能个主键,不可能个主键。 2、所谓的一张表个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用是保证数据的唯一性和完整性...

    今天在工作,做老项目维护的时候无意中发现一张表居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。疑问

    难道是我写的有问题,最后通过查资料总终于解决了。

    1、数据库的每张表只能有一个主键,不可能有多个主键。

    2、所谓的一张表多个主键,我们称之为联合主键。

         注:联合主键:就是用多个字段一起作为一张表的主键。

    3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

     

    下面聊聊怎么创建联合主键:

     

    1、GUI中同时选中多列,点击设置为主键。

    2、sql语句将多列设置为主键:

     

     一种是在建表时就写出,语句如下:

    Create Table 表名 (字段名1 Int Not Null,
                       字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                        字段名3…………
                        字段名N………… )

    另一种是在建表后更改,语句如下:

    ALTER TABLE 表名 WITH NOCHECK ADD 
    CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
    (
      [字段名1],
      [字段名2]
    )
     
    通过以上两种方式就解决了联合主键的问题。

    --------------------- 本文来自 牟鹏 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/for12/article/details/49300843?utm_source=copy

    展开全文
  • 一张表可以多少个主键

    万次阅读 多人点赞 2015-10-21 10:20:28
    1、数据库的每张只能个主键,不可能个主键。 2、所谓的一张表个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用是保证数据的唯一性和完整性...

    今天在共工作,做老项目维护的时候无意中发现一张表居然有三个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。疑问

    难道是我写的有问题,最后通过查资料总终于解决了。

    1、数据库的每张表只能有一个主键,不可能有多个主键。

    2、所谓的一张表多个主键,我们称之为联合主键。

         注:联合主键:就是用多个字段一起作为一张表的主键。

    3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。


    下面聊聊怎么创建联合主键:


    1、GUI中同时选中多列,点击设置为主键

    2、sql语句将多列设置为主键:

     一种是在建表时就写出,语句如下:

    Create Table 表名 (字段名1 Int Not Null,
                       字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                        字段名3…………
                        字段名N………… )

    另一种是在建表后更改,语句如下:

    ALTER TABLE 表名 WITH NOCHECK ADD 
    CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
    (
      [字段名1],
      [字段名2]
    )
     
    
    通过以上两种方式就解决了联合主键的问题。



    展开全文
  • 最近学习一点数据库的基本知识,被一个问题困惑了许久:主键是唯一的索引,那么为何一个可以创建多个主键呢? 其实“主键是唯一的索引”这话有点歧义的。举个例子,我们在中创建了一个ID字段,自动增长,并设为...

    最近学习一点数据库的基本知识,被一个问题困惑了许久:主键是唯一的索引,那么为何一个表可以创建多个主键呢?
    其实“主键是唯一的索引”这话有点歧义的。举个例子,我们在表中创建了一个ID字段,自动增长,并设为主键,这个是没有问题的,因为“主键是唯一的索引”,ID自动增长保证了唯一性,所以可以。
    此时,我们再创建一个字段name,类型为varchar,也设置为主键,你会发现,在表的多行中你是可以填写相同的name值的,这岂不是有违“主键是唯一的索引”这句话么?
    所以我才说“主键是唯一的索引”是有歧义的。应该是“当表中只有一个主键时,它是唯一的索引;当表中有多个主键时,称为复合主键,复合主键联合保证唯一索引”。
    为什么自增长ID已经可以作为唯一标识的主键,为啥还需要复合主键呢。因为,并不是所有的表都要有ID这个字段啊哈哈,比如,我们建一个学生表,没有唯一能标识学生的ID,怎么办呢,学生的名字、年龄、班级都可能重复,无法使用单个字段来唯一标识,这时,我们可以将多个字段设置为主键,形成复合主键,这多个字段联合标识唯一性,其中,某几个主键字段值出现重复是没有问题的,只要不是有多条记录的所有主键值完全一样,就不算重复。

    1、数据库的每张表只能有一个主键,不可能有多个主键。
    2、所谓的一张表多个主键,我们称之为联合主键。
    注:联合主键:就是用多个字段一起作为一张表的主键。
    3、主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

    下面聊聊怎么创建联合主键:

    1、GUI中同时选中多列,点击设置为主键。
    2、sql语句将多列设置为主键:
    一种是在建表时就写出,语句如下:

    Create Table 表名 (字段名1 Int Not Null,
                       字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
                        字段名3…………
                        字段名N………… )

    另一种是在建表后更改,语句如下:

    ALTER TABLE 表名 WITH NOCHECK ADD 
    CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 
    (
      [字段名1],
      [字段名2]
    )
    展开全文
  • 如果已有主键需要先删除再同时添加。 错误示范:

    如果已有主键需要先删除再同时添加。

    错误示范:

    展开全文
  • 一张自增里面总共 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是?一般情况下,我们创建的的类型是InnoDB,如果新增一条记录(不重启mysql的情况下),这条记录的id是8;...
  • 数据库主键表和外键

    千次阅读 2013-03-24 11:06:33
    敢说很多跟我一样的同学原来做课程设计,肯定就是随便建几个table,然后能够用程序,也就是你的软件系统对你的各个table进行增删查改,以为数据库就建好了,已经ok了。  其实这一半的事情都没有做到,我们说一个...
  • Oracle数据库设计——定义约束 主键

    万次阅读 2006-02-09 10:05:00
    声明约束主键(PRIMARY KEY) 一张表不一定有主键,但大多数都创建了主键主键值必须唯一并且组成主键的各列都不能为空。 想象一下存储学生信息的一张表。在学生(STUDENTS)每学生且仅一行记录。因此,...
  • Oracle数据库设计——定义约束 主键1

    千次阅读 2008-01-22 17:45:00
    声明约束 主键(PRIMARY KEY) 一张表不一定有主键,但大多数都创建了主键主键值必须唯一并且组成主键的各列都不能为空。 想象一下存储学生信息的一张表。在学生(STUDEN
  • 甲: 由于各种原因,我们项目中的数据库是从别的地方导过来的,很多都没有主键。 你现在问去掉主键的好处,也谈到数据的完整性,那么我现在我的看法:...为了一个主键,你就不让人插数据了??? 好处:如果建一个
  • 但是我心想,一张表只有一个主键,这个1,2,3表示的是啥啊?心里有点担心的自己的主键有没有设置成功,就查了一下本张表的主键是什么。 下面这个sql语句可以显示主键的名字: SELECT pg_constraint.conname AS ...
  • 我们在建立数据库的时候,需要为每张指定一个主键,所谓主键就是能够唯一标识中某一行的属性或属性组,一个只能个主键,但可以多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新...
  • 背景: 1、数据库A与数据库B...2、将数据库C中的待迁移数据,主键及关联主键全部加n(不同n值可能不一样),让主键值大于数据库B中的主键值,避免合并到B时,主键冲突。 3、将数据库C合并到数据库B中 ...
  • 关系型数据库主键外键

    千次阅读 2021-01-11 21:55:07
    一对多:把A的主键充当B的外键(一个父亲有几个孩子,一个孩子只有一个父亲) 多对多:必须通过单独的一张表来实现(一个老师多个学生,一个学生多个老师)班级一张表,老师一张表,班级和老师的关系一张表 主键:...
  • 数据库中父和子主键外键的理解)

    万次阅读 多人点赞 2016-03-07 14:11:05
    好久没有碰数据库分析设计了。今天突然要做一个数据库分析,很是费解...你想要设计的一产品可能是这样的:产品:产品ID, 产品名称, 产品类型 产品ID 产品名称 产品类型 1 敌敌畏 农药 2 加多宝 饮料 3 可乐
  • 1、数据库的每张只能个主键,不可能个主键。 2、所谓的一张表个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用是保证数据的...
  • 数据库主键选择策略

    千次阅读 2011-11-30 15:21:17
    我们在建立数据库的时候,需要为每张指定一个主键,所谓主键就是能够唯一标识中某一行的属性或属性组,一个只能个主键,但可以多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新...
  • 数据库主键设计原则

    千次阅读 2014-08-12 11:19:55
     或许大家都设计过数据库,也为定义过主键,今天我想阐述的是,应该如何正确的设计一个主键,在以往的一些资料中,都没有提及到主键设计的原则.  我为此总结了一下:  1.是否要采用GUID作为主键  用GUID作主键有...
  • 数据库中的主键与外键的关系,通俗易懂

    万次阅读 多人点赞 2017-12-16 16:13:08
    关系型数据库中的一条记录中若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程...
  • 浅谈数据库设计的几个原则

    千次阅读 2017-01-15 00:26:56
    浅谈数据库设计的几个原则http://chaochaoblog.com/archives/1745对于信息管理类的程序来说,一个系统就是一个信息库。在大量的信息中为了索引、区别,最好的办法就是用数据库。然而建立一个简洁、高效、全面的...
  • 关系型数据库中的一条记录中若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 ...
  • 数据库主键选取策略

    2006-08-03 15:27:00
    原文章请参见http://www.cnblogs.com/zhenyulu/articles/25326.aspx小议数据库主键选取策略我们在建立数据库的时候,需要为每张指定一个主键,所谓主键就是能够唯一标识中某一行的属性或属性组,一个只能一...
  • 联合主键数据库中的三种

    千次阅读 2012-11-12 21:22:21
    一张表中建立两个主键 建立联合主键有两种方法 1.建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。 1).在数据库提供的GUI环境中建立(以SQL7为例)。 ...
  • 需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的条数据 (数据就来自这张表)怎么做?
  • 知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。 1、数据相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,382
精华内容 21,752
关键字:

一张数据库表有几个主键