• 联合主键和复合主键区别


    什么是数据表的复合主键
    所谓的复合主键 就是指你表的主键含有一个以上的字段组成
    比如
    create table test
    (
       name varchar(19),
       id number,
       value varchar(10),
       primary key (name,id)
    )

    上面的name和id字段组合起来就是你test表的复合主键
    它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性
    一般情况下,主键的字段长度和字段数目要越少越好

    联合主键
    什么是联合主键?
    (主键原则上是唯一的,别被唯一值所困扰。)
    顾名思义就是多个主键联合形成一个主键组合
    一个简单的例子
    主键A跟主键B组成联合主键
    主键A跟主键B的数据可以完全相同(困扰吧,没关系),联合就在于主键A跟主键B形成的联合主键是唯一的。
    下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对不充许再出现11这个唯一值。(这就是多对多关系)
    主键A数据 主键B数据
    1      1
    2      2
    3      3
    主键A与主键B的联合主键值最多也就是
    11
    12
    13
    21
    22
    23
    31
    32
    33

    CREATE TABLE `products_description` (
     

    `products_id` int(11) NOT NULL,
      `language_id` int(11) NOT NULL default '1',
      `products_name` varchar(64) NOT NULL default '',
      `products_description` text,
      `products_short_description` text,
      `products_url` varchar(255) default NULL,
      `products_viewed` int(5) default '0',
      PRIMARY KEY  (`products_id`,`language_id`),
      KEY `products_name` (`products_name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  • 相关阅读:
    2020/4/15
    2020/4/14
    2020/4/13
    2020/4/12
    2020/4/11
    2020/4/9
    PTA录入数据库题目流程
    PTA录题
    2020/4/8
    如何把mysql workbench的数据结构和数据导出到sql表中
  • 原文地址:https://www.cnblogs.com/bluealine/p/5474194.html
Copyright © 2020-2023  润新知