精华内容
下载资源
问答
  • 在我们开发的过程中,总感觉一张表就一个主键。但是事情往往没有我们想象的那么简单,一张表其实也是可以有多个主键。 如上图所示,其实说多个主键也不对,可以说是复合主键。意思 这2字段都不是唯一的,2...

    在我们开发的过程中,总感觉一张表就一个主键。但是事情往往没有我们想象的那么简单,一张表其实也是可以有多个主键。
    在这里插入图片描述
    如上图所示,其实说多个主键也不对,可以说是复合主键。
    如下添加数据:
    在这里插入图片描述
    提示违反唯一约束,意思说明两个主键字段不能同时一样。

    参考网址
    http://www.sohu.com/a/339355966_120047065
    https://www.cnblogs.com/CNty/p/10941398.html
    https://www.jianshu.com/p/8625b3b639b3

    这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!!!

    欢迎加入技术群聊
    在这里插入图片描述

    展开全文
  • update DSP_DATAMAN_RES_REGISTER_COL set dicttypefiltersql = (select dicttypefiltersql from DICT_TEMP where DSP_DATAMAN_RES_REGISTER_COL.unid=DICT_TEMP.unid) where exists (select 1 from DICT_TEMP wher
    update DSP_DATAMAN_RES_REGISTER_COL set dicttypefiltersql = (select dicttypefiltersql from DICT_TEMP where DSP_DATAMAN_RES_REGISTER_COL.unid=DICT_TEMP.unid)
    
    where exists (select 1 from DICT_TEMP where DSP_DATAMAN_RES_REGISTER_COL.unid=DICT_TEMP.unid)
    展开全文
  • 例如用户 user_id user_name 1 zhangsan ... 另一张money,表示了借钱的关系 id from to how 1 1 2 100 2 3 4 100 关联查询 select m.id,u1.use...

    例如用户表

    user_iduser_name
    1zhangsan
    2lisi
    3wangwu
    4zhaoliu

    另一张money表,表示了借钱的关系

    idfromtohow
    112100
    234100

    关联查询

    select m.id,u1.user_name,u2.user_name,m.how
    from money as m
    left outer join user u1 on u2.user_id=m.from
    left outer join user u3 on u3.user_id=m.to

    显示的结果为

    iduser_nameuser_namehow
    1zhangsanlisi100
    2wangwuzhaoliu100

    这里有个小问题,中间两列显示的名称一样,都是user_name,这样就不好辨别了,在Mybatis中如果想用

    @ResultType(实体类名称.class)

    来定义返回的类型,因为两个字段名一样,定义的实体类肯定不能一样,就会导致返回没有结果,怎么处理呢?

    关联查询时,指定结果字段别名

    select m.id,u1.user_name as user_name1,u2.user_name as user_name2,m.how
    from money as m
    left outer join user u1 on u2.user_id=m.from
    left outer join user u3 on u3.user_id=m.to

     

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

    万次阅读 多人点赞 2015-10-21 10:20:28
    今天在共工作,做老项目维护的时候无意中...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]
    )
     
    
    通过以上两种方式就解决了联合主键的问题。



    展开全文
  • 一张表主键作为外键关联到另一张表中1、外键的介绍2、使用Navicat创建外键3、外键的维护关系设定 1、外键的介绍 设置外键的作用很明显,就是讲两个表的数据产生关联,就比如个人信息和部门之间,部门的...
  • 今天在工作,做老项目维护的时候无意...2、所谓的一张表个主键,我们称之联合主键。  注:联合主键:就是用多字段一起作为一张表主键。 3、主键主键的作用是保证数据的唯一性和完整性,同时通过主键检...
  • 一张表个主键 在另外一张表中怎么用外键引用它? 麻烦帮忙解决一下。 非常感谢。
  • 2、所谓的一张表个主键,我们称之联合主键。  注:联合主键:就是用多字段一起作为一张表主键。 3、主键主键的作用是保证数据的唯一性和完整性,同时通过主键检索能够增加检索速度。
  • 将多键设置成主键时提示:无法将多 PRIMARY KEY 约束添加到 ‘表名’。 其实MS SQL是不能这样设置2个主键create table hello(id int primary key,name varchar(40) primary key); 应该是create table hello(id...
  • SQLServer两个表共用数字ID主键

    千次阅读 2018-03-19 16:23:19
    特别的需求:要将本地的A和B的公用字段信息传至云端C,要求上传后A,B表主键不能改变,即在C还是可以通过主键获取AB的对应记录全部信息。最开始有考虑使用触发器在本地新增A,B记录时判断两当前...
  • 一张表外键指向同一主键

    千次阅读 2018-06-08 14:51:00
    现在有两张  (a)  ======(想要的结果)=====》   (b) 因为第一次遇到这种,...适用于多外键同时关联同个主键!  我的sql语句是: SELECT  a1.id, a1.userName userId, a...
  • 之间有一对多、多对多的关系,只要涉及到之间的关联们就会涉及到外键和主键 知识点:   那么怎么设置外键呢? demo: 现在有两张,user(编号、姓名、职务、工种、部门)、kinds (工种、...
  • 请问数据库里的一列字段是以这种形式的 ["1","6","7","8","9","10","11","24"] 储存别的主键 有什么方法可以把另外一张表的name属性取出来放到jsp里吗
  • SELECT TF_SCHOOL_DORMITORY_INFO.*, tsi.STAFF_NAME “ceoName”, ts_staff_info.STAFF_NAME AS “houseMasterName” FROM ( SELECT * FROM ts_staff_info ) tsi right join TF_SCHOOL_DORMITORY_INFO ON tsi.STAFF...
  • 知道一张表主键,如何查找被哪些引用?? 方法一: 知道主键找到引用该主键的被哪些引用: SELECT P.TABLE_NAME 主键所在的, C.TABLE_NAME 外键所在的 FROM ALL_CONSTRAINTS P, ALL_CONSTRAINTS C ...
  • 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 ...
  • 中用其中一字段 关联子主键 类似于 这的 cont_launch_plan_id 来关联子主键 但是他这存的 一字段存了多id 并用 逗号隔开 这样的情况如何来关联呢 如果是mysql select from 主...
  • 如果你有一张表,你的主键是ID,然后由于测来测去的原因,你的ID不是从1开始连续的自增了。 终于有一天,使用这张表的某个系统要导入正式数据了,强迫症这时候就表现的明显了,浑身不自在, 这时候你就需要将这...
  • CREATE TABLE orderitems ( order_num int(11) NOT NULL, order_item int(11) NOT NULL, prod_id char(10) NOT NULL, quantity int(11) NOT NULL, item_price decimal(8,2) NOT NULL, PRIMARY KEY (order_num,orde.....
  • SQL--当一张表的两外键指向同一主键

    万次阅读 热门讨论 2017-11-26 18:54:54
    最近遇到了这样一问题,当一张表中有两外键同时执行了另外一种主键,如何建立一张视图,让这两外键都找到相应的信息。来实例吧:第一张表,归还记录:第二张表,用户:问题就是,归还记录表里有两字段,...
  • 如何给一数据库添加主键

    千次阅读 2020-12-03 09:46:06
    一张表有且只能有一个主键主键具有唯一性。) CREATE TABLE tb ( id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(20) ) 2.在创建的时候在所有字段后面使用primary key(主键字段列表)来创建主键(如果有多...
  • 如图:![图片说明]...怎么在这个表中设置teachers162里的Teacher_ID 外键? ![图片说明](https://img-ask.csdn.net/upload/201506/09/1433856532_901555.png)
  • 我的一Oracle,没有任何主键,然后生成的时候就将所有的字段都作为联合主键,如果所有的字段都做联合主键的话,这样只要一字段null,查询的话这条记录就不能查询到。 然后我想到Oracle数据库可以生成一...
  • 数据表主键,外键

    2015-05-31 11:29:00
    1.主键分为:逻辑主键和业务主键 逻辑主键:没有任何的含义,...主键列:就是不能插入重复数据(默认带索引),每一张数据,都推荐有主键,设置标识。 主键标识列:就算数据行被删除了,增长的数字也是按照原来的...
  • ![图片说明]... sid为主键,sname员工姓名,zid员工上司id null代表没有,chengji成绩 问题: 规定查询显示 主键,员工姓名,员工上司姓名,成绩 如何写sql

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,190
精华内容 43,276
关键字:

一张表的主键个数为