精华内容
下载资源
问答
  • 所以在商品表中增加的这列就叫“外键”,商品表就叫外键表,厂家表就叫主键表。. 销售记录表如果再引用商品表,这时,销售记录表就是“外键表”,商品表又成了“主键表” 数据冗余 占用空间多。 想修
    1,两张表中都有主键。
    商品表的主键是:商品Id,
    厂家表的主键是:厂家Id
    但是,在商品表中需要引用厂家表,所以在商品表中增加一列,这一列是用来引用厂家表中的主键(厂家Id)的。所以在商品表中增加的这列就叫“外键”,商品表就叫外键表,厂家表就叫主键表。.


    销售记录表如果再引用商品表,这时,销售记录表就是“外键表”,商品表又成了“主键表”


    数据冗余
    占用空间多。
    想修改厂家信息得修改很多行


    每次录入新的货物的话必须把厂家地址、厂家电 话等信息重新录入一次。 




    数据冗余:
    1.存储空间的浪费
    2.更新数据的时候需要将表中所有原数据都更新。


    拆成两张表。
    减少数据冗余,保证数据库的正确性
    但是查询麻烦了


    假设两张表中都有主键,A表,B表。A表中的主键为AId。B表中的主键为Bid.

    这时,A表中引用了B表中的Bid作为一列,这时,我们就叫A表位B表的外键表,而B表叫做主键表。

    外键表与主键表是相对关系。


    展开全文
  • 查询一个表的所有外键名称,主键名称,主键列ID,主键列名,外键表ID,外键列ID,外键列名 级联更新,级联删除,索引名称,索引字段名,索引字段位置
  • MySQL 创建主键,外键和复合主键的语句 作者: 字体:[增加 减小] 类型:转载 MySQL 创建主键外键和复合主键的方法,需要的朋友可以参考下。 1.创建主键语法  ALTER TABLE table_name ...

    MySQL 创建主键,外键和复合主键的语句

    作者: 字体:[增加 减小] 类型:转载
    MySQL 创建主键,外键和复合主键的方法,需要的朋友可以参考下。
    <iframe id="cproIframe_u1892994_2" width="580" height="90" src="http://pos.baidu.com/acom?adn=3&at=231&aurl=&cad=1&ccd=24&cec=GBK&cfv=17&ch=0&col=zh-CN&conBW=0&conOP=1&cpa=1&dai=2&dis=0&ltr=http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3Dnn2sWueTrLn8U4FYdRfeimyKqLcjtZRPWkdMi0JVMlwgT_CQzUDQAjPsN__-HcKL%26wd%3Dmysql%25E5%2588%259B%25E5%25BB%25BA%25E4%25B8%25BB%25E9%2594%25AE%25E7%25BA%25A6%25E6%259D%259F%25E8%25AF%25AD%25E6%25B3%2595%26issp%3D1%26f%3D8%26ie%3Dutf-8%26tn%3Dbaiduhome_pg%26inputT%3D5022&ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F21382.htm&lu_161=0&lunum=6&n=jb51_cpr&pcs=842x485&pis=10000x10000&ps=490x35&psr=1440x900&pss=1000x491&qn=faf892daee8d2205&rad=&rsi0=580&rsi1=90&rsi5=4&rss0=%23FFFFFF&rss1=%23F7FCFF&rss2=%230000ff&rss3=%23444444&rss4=%23008000&rss5=&rss6=%23e10900&rss7=&scale=&skin=tabcloud_skin_3&stid=5&td_id=1892994&titFF=%E5%AE%8B%E4%BD%93&titFS=12&titTA=left&tn=text_default_580_90&tpr=1427269287353&ts=1&version=2.0&xuanting=0&dtm=BAIDU_DUP2_SETJSONADSLOT&dc=2&di=u1892994&tt=1427269287339.327.450.450" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true"></iframe>
    1.创建主键语法 

    ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 

    2.创建外键语法 

    ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ; 

    3.使用组合主键 

    如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式 

    ①创建时:create table sc ( 
    studentno int, 
    courseid int, 
    score int, 
    primary key (studentno,courseid) ); 
    ②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
    展开全文
  • sql------创建主键外键、联合主键

    万次阅读 2016-04-13 18:55:14
    主键外键、联合主键的创建

    首先创建一个用户表,用户id设为主键

    create table user_login(user_id nvarchar primary key,user_passwd nvarchar,user_grade int);

    再创建一个终端表,用户ID设为外键。

    create table terminal_login(terminal_id nvarchar primary key,user_id nvarchar,foreign key(user_id)references user_login(user_id));

    创建联合主键

    create table huayunkeji_today(device_id int , year int, month int, day int, hour int, temperature float, humidity float,
    primary key(device_id,year,month,day,hour));
    
    展开全文
  • 外键关联复合主键

    2018-11-14 15:26:00
    @ManyToOne(fetch = FetchType.LAZY, optional = true) @JoinColumns(value={ @JoinColumn(name ="ROADID", referencedColumnName ="ID",insertable=false, updatable=false), @JoinColumn...

    @ManyToOne(fetch = FetchType.LAZY, optional = true)
        @JoinColumns(value={
                @JoinColumn(name ="ROADID", referencedColumnName ="ID",insertable=false, updatable=false),
                @JoinColumn(name="CITYID", referencedColumnName = "CITYID",insertable=false, updatable=false)
        })

    转载于:https://www.cnblogs.com/czhaosheng/p/9958193.html

    展开全文
  • A表的主键是B表的一个字段(该字段为主键)能将B表设置为A表的外键吗? 或 A表没主键,但A表中的一个字段是B表的主键,那么能将B表设置为A表的外键吗? 外键参考栏位是SNO 为什么我主键中的SNO中没有S999这个...
  • 主键约束:规定主键唯一、非空 alter table device add constraint con_test unique (device_id) --device是表名,con_test是约束名,device_id是想要做约束的列 外键约束:建立两张表之间的关系,子表要引用父表...
  • !...!...!...get、set方法hashCode、equals都有 在Valuator报错 Persistent type of override attribute "pk.pjcontype" cannot be resolved Pjrelation.java 在Pjrelation中报错 In attribute 'pjrelation', the "mapped by...
  • MySQL如何创建主键外键和复合主键

    千次阅读 2019-10-28 14:36:13
    1.主键语法 ①创建时:create table sc ( studentnoint, courseidint, scoreint, primary key (studentno) ); ②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 前提是原先没有...
  • 表关联时,外键关联非主键id时-hbm.xml配置: (由于hibernate默认为关联主键查询,故需要配置相关hql语句的属性) 其中:foreign-key为主表字段,property-ref为类属性
  • 什么是一个表的外键 他和主键有什么区别吗/?主键:唯一标识表中的所有行的一个列或一组列。主键不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。表中可以有不止一个键唯一标识...
  • Hibernate配置多个外键做联合主键

    千次阅读 2018-06-06 15:16:58
    博主为了逻辑上的清晰,我将cart的cartId作为竟为cart表的主键,有为vipId外键,存在vipId的外键约束。因为每个用户都有一个购物车,但是购物车与购物车内的商品关系是m:n,所以这时候需要新建一个联系表cartItem...
  • 建表一: CREATE TABLE person (person_id SMALLINT UNSIGNED, fname VARCHAR(20), lname VARCHAR(20), gender ENUM('M', 'F'), birth_date DATE, street VARCHAR(30), city VARCHAR(20), state VARCHAR(20), ...
  • 外键和联合主键

    2009-09-07 23:02:00
    Create table VoteMaster( voteID int foreign key references voteMaster(voteID),--外键 voteDetailsID int not null, voteItem varchar(20) not null, voteNum int default 0, 
  • 一张表多个外键指向同一主键

    千次阅读 2018-06-08 14:51:00
    现在有两张表  (a表)  ======(想要的结果)=====》   (b表) 因为第一次遇到这种,...适用于多个外键同时关联同个主键!  我的sql语句是: SELECT  a1.id, a1.userName userId, a...
  • 测试以两个外键为复合主键的表,两个外键空值情况多表关联的情况下,删除主表的一条数据,同时修改与主表关联的从表对应数据,如 tbl_a表,tbl_b表,两表交互表tbl_a_b。当tbl_a中的数据某条数据删除时,需要先清除...
  • 多个表与表有外键关联,建表设置外键后发现,单表主键不能设置自增,翻过来也不行 解决方法: 先不自增,创建表和外键 然后 set foreign_key_checks = 0; ALTER TABLE ‘abc’ MODIFY COLUMN id int(11) NOT NULL ...
  • 在看《Learning SQL》第二版, 慢慢打实SQL的基础。 建表一: CREATE TABLE person (person_id SMALLINT UNSIGNED, fname VARCHAR(20), lname VARCHAR(20), gender ENUM('M', 'F'), birth_date DATE, street VARC.....
  • 情况一:如果中间表仅仅是做关联用的,它里面仅有2个外键做联合主键,则使用ManyToMany(不用写中间表的Model,只需要写出两张主表的model即可) 学生表 @Entity @Table(name = "T_STUDENT") @Sequence...
  • SQL--当一张表的两个外键指向同一主键

    万次阅读 热门讨论 2017-11-26 18:54:54
    最近遇到了这样一个问题,当一张表中有两个外键同时执行了另外一种表的主键,如何建立一张视图,让这两个外键都找到相应的信息。来实例吧:第一张表,归还记录:第二张表,用户表:问题就是,归还记录表里有两个字段,...
  • 如何根据表名查询出表内的外键列名以及外键对应的主键表名和主键列名? 在网上搜了好多,都没有能直接解决的,比如下面这第一段代码,能根据表名查出表内外键列所对应的主键表名和主键列名,但是没有外键列名: ...
  • hasOne('别的表模型名','别的表外键名','本表主键名',['模型别名定义'],'join类型'); 在从表模型中建立关联关系,用 belongsTo belongsTo('别的表模型名','本表外键名','本表关联表主键名',['模型别名定义'],'join...
  • (二)联合主键 (三)复合主键 二、外键、设置种子数目和增量 (一)外键的概念 (二)添加外键 (三)设置种子数目和增量 结语 前言 这篇文章,我们将通过知识点以及例子来了解SQL Server中主键外键以及联合主键...
  • --SQL SERVER 2000中各表外键名,主键名的获取SELECT 外键表ID = b.fkeyid , 外键表名称 = object_name(b.fkeyid) , 外键列ID = b.fkey , 外键列名 = (SELECT name FROM syscolumns WHERE colid = b.fkey AND ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 151,724
精华内容 60,689
关键字:

外键一定是主键吗