精华内容
下载资源
问答
  • 表的主键

    2019-07-29 18:07:41
    添加或更改表的主键:主键具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个表只能有一个主键。 若要设置表的主键,请设计视图中打开表。选择要使用的...
    添加或更改表的主键:主键是具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个表只能有一个主键。

    若要设置表的主键,请在设计视图中打开表。选择要使用的字段,然后在功能区上单击“主键”。

    什么是好的主键?
    一个好的候选主键具有以下几个特征:

    1、唯一标识每一行

    2、从不为空或为 Null,即它始终包含一个值 

    3、所包含的值几乎不(理想情况下永不)改变


    如果无法识别好的键,则创建“自动编号”字段用作键。“自动编号”字段在首次保存每条记录时,会自动为自己生成一个值。因此,“自动编号”字段满足一个好的主键的所有三个特征。

    较差主键的示例:
    缺少一个或多个好的候选主键特征的任何字段对于主键都是糟糕的选择。下面是会让“联系人”表的主键成为较差主键的几个字段示例,以及成为糟糕选择的原因。

    复合键:将多个字段组合在一起作为主键使用

    在某些情况下,您想要使用表中的两个或多个字段作为主键。


    MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons
    ADD PRIMARY KEY (Id_P)
    如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

    转载于:https://www.cnblogs.com/dengshiwei/p/4258621.html

    展开全文
  • 今天工作,做老项目维护的时候无意发现一张居然有三个主键。... 注:联合主键:就是用多个字段一起作为一张表的主键。 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

    展开全文
  • 转自:http://blog.csdn.net/for12/article/details/49300843今天共工作...1、数据库每张表只能一个主键,不可能有多个主键。2、所谓一张多个主键,我们称之为联合主键。注:联合主键:就是用多个字段一起...

    转自:http://blog.csdn.net/for12/article/details/49300843

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

    doubt.gif

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

    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]

    )

    通过以上两种方式就解决了联合主键的问题。

    展开全文
  • 1 题目 有争议答案D和C, C: 一张表只能一个主键一个主键可以包含多个字段。 D: 主键约束可以定义在表级或列级,主键不能

    1 题目

    在这里插入图片描述
    有争议的答案是DC

    • C: 一张表只能有一个主键,一个主键可以包含多个字段。
    • D: 主键约束可以定义在表级或列级,主键不能
    展开全文
  • 一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会表中设置一个主键主键分为单字段主键和多字段联合主键,本节将分别讲解这两种主键约束的创建、修改和删除。使用主键应注意以下几点:每个表只能定义一个...
  • 链接:cnblogs.com/wenxiaofei/p/9853682.htm一、基本概念1.主键、外键、超键、候选键超键:关系中能唯一标识元组...主键:数据库表中对储存数据对象予以唯一和完整标识数据列或属性组合。一个数据列只能有...
  • 一张可以有多少个主键

    万次阅读 多人点赞 2015-10-21 10:20:28
    今天共工作,做老项目维护的时候无意发现一张居然有三个主键。吓死宝宝了,然后尝试着... 注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用保证数据的唯一性和完整性,同时通过主键
  • MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。选取设置主键约束的字段主键约束即表中定义一个主键来唯一确定表中每一行数据...
  • 而唯一索引可以有一个为空数据项,一个表中只能有一个主键,但是一个主键可以有多个字段一个表中可以有多个唯一索引。 联合主键只是让记录联合那几个字段总体上唯一,比如id1 id2 id3三个列作为联合主键...
  • 这样在一个表中有个sort(int)排序字段,每次插入数据时要求sort能自+1,效果像主键id自动加1那样。但mysql中一个有只允许主键自动+1,所以只能用sql实现。 起初这样写: insert into tt(sort,name) ...
  • <<1>>int(bigint)+标识列(自动增长字段) 用标识列实现字段自增可以避免并发等问题。不需开发人员自己控制自增,用...将字段的标识列”设置为“”,一个表只能有一个标识列。 <<2>&g...
  • 前些天项目上遇到一个坑,根据业务要求指定的表中个不为空自增非主键字段,我直接向表中添加自增主键字段时会报错,错误信息如下: 翻译上面错误提示:表定义不正确;只能一个自动列,必须将其定义...
  • Sql server中的主键与外键

    千次阅读 热门讨论 2012-08-04 09:37:07
    在一个表中只能设置一个主键约束,但可以将包含多个字段字段组合设置为主键主键约束分为字段级约束和表级约束。字段级约束为某一个字段设置约束。在设置字段级约束时,只需将创建主键约束语句添加到该字段...
  • 这样在一个表中有个sort(int)排序字段,每次插入数据时要求sort能自+1,效果像主键id自动加1那样。但mysql中一个有只允许主键自动+1,所以只能用sql实现。 起初这样写: insert into tt(sort,name) values...
  • 在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录。 例如: 人事资料中有一个身份征号的字段﹐这个就可设为主键(因为身份征号不会重复)﹐但姓名就不可以﹐因为姓名可以重复。 二、主键有那些...
  • 主键

    2019-10-04 13:13:44
    特点:一个表中只能有一个primary key主键 如果有多个字段都作为primary key主键,称为复合主键,必须建立表时指定!并且这个复合主键虽然有多个字段,但它仍然代表的是一个主键!对应字段值不允许有重复,并且...
  • 一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。 MySQL,InnoDB数据表的主键设计我们通常遵循几个原则: 采用一个没有业务用途的自增属性列作为主键; 主键字段值总是不更新,只有新增或者...
  • Oracle设置表中自增字段

    千次阅读 2015-08-25 00:26:53
    Oracle数据库设置表中自增字段前言今天遇到一个特别2B问题,项目中做了一个数据库插入操作,然后报错“ORA-00001 违反唯一约束条件”,大家看到这个,绝对会骂,这么傻逼错误,都能报,只能怪博主太SB,其实...
  • MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。主键约束字段的选取:主键约束即表中定义一个主键来唯一确定表中每一行数据的...
  • MySQL中很重要是要设置好主键,主键不能重复,而且主键重要性在于可以区分外键,在一个数据表中主键只能是唯一,那么如何设置主键呢?主键没有着明确概念定义,其是索引一种,并且是唯一性索引一种,且...
  • mysql主键约束主键(PRIMARY KEY)的完整称呼主键约束”, MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会表...一个字段只能在联合主键字段表中出现一次。联合主键不...
  • rowid 是 oracle 数据库表中的伪列, rowid 首先是一种数据类型,它唯一标识一条记录物理位置, 基于64位编码的18字符显示。因为 rowid 是伪列, 所以并未真的存储表中,但可以从表中查询,但不支持插入,更新,...
  • MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可以强制表的实体完整性。选取设置主键约束的字段 主键约束即表中定义一个主键来唯一确定表中每一行...
  • 一、基本概念1.主键、外键、超键、候选键超键:在关系中能唯一标识元组属性集称为关系模式超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。...外键:在一个表中存在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 438
精华内容 175
关键字:

在一个表中的主键只能是一个字段