精华内容
下载资源
问答
  • 一张表可以多少个主键

    万次阅读 多人点赞 2015-10-21 10:20:28
    今天在共工作,做老项目维护的时候无意中发现一张表居然个主键。吓死宝宝了,然后尝试着建表建主键,但是都不能成功。 难道是我写的问题,最后通过查资料总终于解决了。 1、数据库的每张只能个主键,...

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

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

    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、数据库的每张只能个主键,不...

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

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

    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

    展开全文
  • 需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的条数据 (数据就来自这张表)怎么做?
  • 1、数据库的每张只能个主键,不可能个主键。 2、所谓的一张表个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张表的主键。 3、主键的主键的作用是保证数据的...
    @Entity
    @Table(name = "cm_user_organization_role")
    @IdClass(CmUserOrganizationRoleVo.class)
    @SuppressWarnings("serial")
    public class CmUserOrganizationRoleVo implements Serializable{
    	
    	@Id
    	@Column(name = "user_code")
    	private String userCode;
    
    	@Id
    	@Column(name = "organization_code")
    	private String organizationCode;
    
    	@Id
    	@Column(name = "group_code")
    	private String groupCode;



    将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并要重写equals和hashcode.最后在主类中(该类包含联合主键类中的字段)将联合主键字段都注解为@Id,并在该类上方将上这样的注解:@IdClass(联合主键类.class)

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

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

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

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


    展开全文
  • 我们要查询出B_DATAVIEW中的外键所对应的外键中的名称 select ID, NAME, MASTERDATA, VIEWTYPE, (select name from T_BUSINESSSYSTEM where id = B_DATAVIEW.BUSISYS) BUSISYSNAME, (select name fro...

     

    我们要查询出B_DATAVIEW表中的外键所对应的外键表中的名称

    select
            ID, NAME, MASTERDATA, VIEWTYPE,
            (select name from T_BUSINESSSYSTEM where id = B_DATAVIEW.BUSISYS) BUSISYSNAME,
            (select name from T_BUSINESSSYSTEM where id = B_DATAVIEW.BUSIORGA) BUSIORGANAME,
            (select name from T_BUSINESSSYSTEM where id = B_DATAVIEW.BUSIVIEW) BUSIVIEWNAME,ENABLE
    from B_DATAVIEW

     

    展开全文
  • 如果你有一张表,你的主键是ID,然后由于测来测去的原因,你的ID不是从1开始连续的自增了。 终于一天,使用这张表的某个系统要导入正式数据了,强迫症这时候就表现的明显了,浑身不自在, 这时候你就需要将这...
  • PostgreSQL 查看结构、主键(多

    千次阅读 2018-10-11 15:17:16
    在网上查阅的资料都只能查出一张表的一个主键(我的数据库有些是多个主键维护的),最后还是把不同的解决方法组合起来,解决了既能查看结构,也能查看多个主键。下面是SQL语句: SELECT  A.ordinal_position, ...
  • sql 关于一个主键唯一性的约束

    万次阅读 2019-02-27 17:28:15
    1.对于一般的,我们只需设一个主键,防止重复,但是我们如果设置多个主键,是每个主键唯一性吗?还是多个主键组合起来具有唯一性 2.答案肯定是多个主键合起来具有唯一性,话说太多,现在上例子 3.例如,我建...
  • 现在这里个表: stock_dismantle stock_info 其中stock_dismantle中的后两字段都是从stock_info的主键id中获取的,那么这时连查询怎样才能同时找到stock_id_first和stock_id_second对应的stock_info里的...
  • 一个只能个主键,但可以多个候选索引。主键常常与外键构成参照完整性约束,防止出现数据不一致。主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引...
  • MySQL中索引、主键和唯一性的区别

    千次阅读 2017-07-26 11:23:33
    PRIMARY 主键: 就是 唯一 且 不能为空。 INDEX 索引: 普通的 UNIQUE 唯一索引: 不允许重复。...在一张表中只能定义一个主键索引,使用关键字 PRIMARY KEY 来创建。 2.索引(INDEX ):
  • 复合主键

    2015-01-04 16:38:38
    通常,一张表有一个主键字段,是唯一非空的。而复合主键是一张表由几个字段来定唯一性,即每条记录的col1和col2字段唯一。 怎么在已有表上设置复合主键? 例如:已有一个表test_key,其中a1列为主键。 create ...
  • Oracle中建表主键自增

    千次阅读 2014-09-22 20:56:19
    oracle建表设置主键自增  首先创建一张表
  • 一般情况下,我们创建的...因为InnoDB只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。 但是,如果我们使用的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM...
  • 一般情况下,我们创建的...因为InnoDB只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。 但是,如果我们使用的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM...
  • create table a( id varchar(20) not null primary key, name varchar(30) ); create table b( id varchar(20) not null primary key ); ...id varchar(20) not null primary key ...alter table b add constraint a_id ...
  • mysql关于设计的主键策略

    千次阅读 2016-12-23 15:02:35
    1.定义中经常列或多列的组合,其值能唯一地标识中的每一行。这样的一列或多列称为主键,通过它可强制的实体完整性。2.主键设计原则总原则:根据数据库的具体使用范围来决定采用不同的表主键定义。...
  • 最近学习一点数据库的基本知识,被一个问题困惑了许久:主键是唯一的索引,那么为何一个可以创建多个主键呢? 其实“主键是唯一的索引”这话有点歧义的。举个例子,我们在中创建了一个ID字段,自动增长,并设为...
  • sqlserver设置两及两以上主键

    万次阅读 2018-10-14 17:34:13
    sqlserver设置两及两以上主键 ** 所谓主键是指能够当唯一标识出某条记录的某一列。 如果你想建立两列及以上的列为主键,可能会发生错误。 首先要明确主键只有一,但是我们可以设置主键组来设置主键。这样两...
  • 小的应用系统一般也几个表,大型系统一般上千个。    我们以学生成绩查询为例来讲解的关联。除了Student,这里我们需要新建成绩Grade:   Sno Cno Grade S01 ...
  • 主键和索引

    千次阅读 2018-08-17 12:40:03
    主键是啥 唯一标识一条记录,不能重复的,不允许为空。 索引是啥 索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容 这句话描述的非常正确, 但说了跟没说一样,所以还是要看原理。想要理解...
  • 1: 2: 现在要获得repid=48 对应2的最后一天记录,也就是要查处dealid=58 SQL: select *  from mgruserrepresentationsdeal md  wh
  • 但是我心想,一张表只有一个主键,这个1,2,3表示的是啥啊?心里有点担心的自己的主键有没有设置成功,就查了一下本张表的主键是什么。 下面这个sql语句可以显示主键的名字: SELECT pg_constraint.conname AS ...
  • ​ 在分布式系统中,常见的主键生成策略以下种: 1.1 数据库自增长序列或字段 ​ 最常见的方式。利用数据库,全数据库唯一。 ​ 优点: ​ 1)简单,代码方便,性能可以接受。 ​ 2)数字ID天然排序,对...
  • 数据库的主键表和外键

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,387
精华内容 22,554
关键字:

一张表有几个主键