精华内容
下载资源
问答
  • 2021-01-19 10:53:12

    我现在的情况是:

    表1包装清单:

    CREATE TABLE `PackingList` (

    `PackingListId` int(10) unsigned NOT NULL AUTO_INCREMENT,

    `Sku` char(10) NOT NULL DEFAULT '',

    `PartId1` int(8) unsigned NOT NULL,

    `PartId2` int(8) unsigned DEFAULT NULL,

    `PartId3` int(8) unsigned DEFAULT NULL,

    `PartId4` int(8) unsigned DEFAULT NULL,

    `PartId5` int(8) unsigned DEFAULT NULL,

    `PartId6` int(8) unsigned DEFAULT NULL,

    `PartId7` int(8) unsigned DEFAULT NULL,

    `PartId8` int(8) unsigned DEFAULT NULL,

    `PartId9` int(8) unsigned DEFAULT NULL,

    `PartId10` int(8) unsigned DEFAULT NULL,

    PRIMARY KEY (`PackingListId`),

    KEY `PartId1 PLC_PartId[PartId]` (`PartId1`),

    KEY `PartId2 PLC_PartId[PartId]` (`PartId2`),

    KEY `PartId3 PLC_PartId[PartId]` (`PartId3`),

    KEY `PartId4 PLC_PartId[PartId]` (`PartId4`),

    KEY `PartId5 PLC_PartId[PartId]` (`PartId5`),

    KEY `PartId6 PLC_PartId[PartId]` (`PartId6`),

    KEY `PartId7 PLC_PartId[PartId]` (`PartId7`),

    KEY `PartId8 PLC_PartId[PartId]` (`PartId8`),

    KEY `PartId9 PLC_PartId[PartId]` (`PartId9`),

    KEY `PartId10 PLC_PartId[PartId]` (`PartId10`),

    );

    表2(部分):

    CREATE TABLE `PartId` (

    `PartSkuId` int(8) unsigned zerofill NOT NULL AUTO_INCREMENT,

    `Content` varchar(255) DEFAULT NULL,

    `Height` decimal(7,2) unsigned NOT NULL,

    `Width` decimal(7,2) unsigned NOT NULL,

    `Depth` decimal(7,2) unsigned NOT NULL,

    `Weight` decimal(7,3) unsigned NOT NULL,

    `Supplier` varchar(100) NOT NULL DEFAULT '',

    `Created` datetime DEFAULT NULL,

    `CreatedBy` varchar(20) DEFAULT NULL,

    `InUse` tinyint(1) DEFAULT '1',

    `FF_Confirmed` datetime DEFAULT NULL,

    PRIMARY KEY (`PartSkuId`),

    KEY `Supplier` (`Supplier`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6698 DEFAULT CHARSET=utf8;

    考虑到我有两个表,其中PackingList表的每一行都包含多个引用PartId表中某一行的id,我希望得到类似PackingList的列表,其中每一行都是一个关系PackingList(可以重复)-->PartId:

    PackingListId PartId

    H0001 partId1

    H0001 . partId2

    等等。

    到目前为止,我做了一些选择,以获得这些信息,但我没有得到那么远,请有人帮助我写一个查询与这样的结果?

    更多相关内容
  • I have a Laravel application with a MySQL database that has 3 tables: Publication, Comment and User.When I display a publication to user I call WS GET Publication By Id and WP GET Comment By Publicati...

    I have a Laravel application with a MySQL database that has 3 tables: Publication, Comment and User.

    When I display a publication to user I call WS GET Publication By Id and WP GET Comment By Publication Id to display all comments related to that publication.

    I want to know if there's a way to avoid Calling WP GET User By Comment Id for each Comment, because when I display a comment I also need to display some information for user who commented.

    Can I add multiple user Foreign Keys in table Comment and use them?

    Thanks in advance.

    解决方案

    This is a very generic usecase. Can you see if this answers your question.

    Publication model{

    whatever fields you have,

    //Comments --> One to many relation with Comment model

    public function comments()

    {

    return $this->hasMany('App\Comment');

    }

    }

    Comment Model{

    whatever fields you have,

    //User --> One to one relation with User model

    public function user()

    {

    return $this->hasOne('App\User');

    }

    }

    User Model{

    fields...

    }

    In your controller, you can get the publications with comments and users by using with function.

    $pub = Publication::first()->with('comments.user');

    I hope this helps.

    展开全文
  • 个业务场景,比如主通过记录type类型和对应的资源id关联两张的主键id,外键例如一个是文章表一个是视频,主通过type进行区分关联这两张,可以分别为主一个字段资源id进行设置各一个外键,请问...
  • 展开全部主键只有一个,但是可以设置...数据库的每张只能有一个主键,不可能多个主键。所谓的一张多个主键,我们称之为联合主键。联合主键就是用多个字段一起作为一张的主键。主键的主键的作用是保证数据的...

    展开全部

    主键只有一个,但是可以设置为多个字段为主键,也即联合主键。62616964757a686964616fe58685e5aeb931333366306538外键就是自己设置了也即可以有多个,可以设置除主键以外的其他字段全部是外键的。

    数据库的每张表只能有一个主键,不可能有多个主键。所谓的一张表多个主键,我们称之为联合主键。联合主键就是用多个字段一起作为一张表的主键。主键的主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

    3e65f64102d0b52d97558a99a4bb43d9.png

    扩展资料:

    一、数据库模型:

    1、对象模型

    2、层次模型(轻量级数据访问协议)

    3、网状模型(大型数据储存)

    4、关系模型

    5、面向对象模型

    6、半结构化模型

    7、平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)

    二、数据库的架构:

    数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。

    1、内层:最接近实际存储体,亦即有关数据的实际存储方式。

    2、外层:最接近用户,即有关个别用户观看数据的方式。

    3、概念层:介于两者之间的间接层。

    三、数据库索引:

    索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(Key Field),该字段具有唯一性,即其值不可重复,且不可为“空值(null)"。例如:在合并数据时,索引便是扮演欲附加字段数据之指向性用途的角色。故此索引为不可重复性且不可为空。

    展开全文
  • 打开我的navicatmysql...然后会出现一个设置外键的界面,一共七列mysql设置外键。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选...

    打开我的navicatmysql设置外键,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table'

    在弹出的对话框中找到“Foreign Keys”,然后单机mysql设置外键。

    然后会出现一个设置外键的界面,一共有七列mysql设置外键。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null.

    设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键mysql设置外键。

    打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上的‘design table’mysql设置外键。如下图:

    93d446102cd8158c9ec98cb5dab5f5be.png

    在弹出的对话框中找到“Foreign Keys”,然后单机mysql设置外键。如下图:

    e7e549182aabed317d80f9600df32ce8.png

    然后会出现一个设置外键的界面,一共有七列mysql设置外键。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。FieldName’:就是你要把哪个键设置为外键。这里选择‘dept’,‘Reference DadaBase’:外键关联的数据库。‘Reference Table‘ :关联的表 这里是dept表‘Forgin filed Names’:关联的的字段,这里是code‘ondelete’:就是删除的时候选择的动作。这里我的选择是setNull,意思就是当关联的表删除以后,teacher》dept字段会设置为null。如图

    dcd36214959ac94e0fb8d1164cddf7c7.png

    设置完成后点击‘save’保存退出,也可以点击‘add Foreign Key’再添加一个外键mysql设置外键。k如图:

    d75b97b31a08e850d3df485742ac58a5.png

    展开全文
  • 、MYSQL中的约束1、主键:primary key 唯一非空的特性并且可以优化查询速度2、外键:foreign key 外键的作用保证2或2以上的数据的数据一致性和完整性3、唯一:unique4、非空:not null5、默认值:deafult6、...
  • 外键约束的作用,是保证字某个字段取值全都与另一个数据主键字段相对应。也是说,只要外键约束存在并有效,不允许无参照取值出现在字列中。具体在Oracle数据库中,外键约束还是存在一些操作选项的。本篇主要从...
  • 1. 创建的同时添加外键 create table score( score int(3), st_id int(16), cs_id int(16), primary key(st_id,cs_id), FOREIGN KEY (st_id) REFERENCES student(id), FOREIGN KEY (cs_id) REFERENCES classes(id)...
  • 当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的。
  • stackflow 上面找到一个不错的答案,翻译一下记录下来。Q:三个:regions,countries,states。countries和states都是regions的一部分。regions是食物链的最顶端。现在要加一个popular_area两个字段:...
  • 为mysql数据建立主外键需要注意以下点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB。 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。 外键列和参照列必须创建索引,如果外键列...
  • sql | 一张表有【两个外键

    千次阅读 2019-07-17 14:10:00
    现在三张表:如图, 要求1:现在要通过repair_id查询出worker两张中的信息: 连接: select * from repair t1,client_info t2 where t1.client_id = t2.client_id and t1.client_id="1" 外连接:left ...
  • 像这种不创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql 开发者列表当中很多年了,然而这...
  • 数据库的单个数据中只能有一个主键。数据库主键,指的是一个列或多列的组合,其值唯一地标识中的每一行,通过它可强制的实体完整性;主键主要是用与其他外键关联,以及本记录的修改与删除。数据库的单个...
  • 对于两个通过外键关联的,相关联字段中主键所在的是主,也称之为父外键所在的是从,也称之为子,定义外键的时候需要遵守几个规则: 1、父必须已经存在于数据库中,或者是当前正在创建的。如果是...
  • CREATE TABLE emp ( -- 创建emp id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(30), age INT, dep_name VARCHAR(30), -- 部门名称 dep_location VARCHAR(30) -- 部门地址 ); -- 添加数据 INSERT INTO emp ...
  • 需求是这样的,一个资源表有分类r_class_id(分类id对应的外键) 创建者r_up_creator(用户id对应的外键) 审核者r_ver_id (用户id对应的外键),这时候该怎么将其都查询出来呢? 首先用左连接: select ...
  • 表格1:tid(主键)//这里没有外键表2:sid(主键)//这里也没有外键表3:TidSidiid(primary key)foreign key(Tid,Sid) references table1(tid).table2(sid)In table3 i want to make a composite foreign key or ...
  • 我有2个,一个叫做帖子,一个叫做用户.在帖子里面我有几列,一列是userid的外键.在我的用户中,我有几个列,包括用户标识和用户名.我想使用posts.userid来查找users.userid并显示users.username.目前我正在使用:...
  • mysql SELECT ii.`TABLE_NAME` -- ii.`TABLE_NAME`,ii.`COLUMN_NAME` FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS ii WHERE ii.`CONSTRAINT_SCHEMA` = 'lfssc' -- AND ii.`TABLE_NAME` = 'fssc_spm_accounts'...
  • 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外键使用详解

    2020-12-15 17:17:05
    最近开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护间的关联··研究了一下MySQL的外键。 (1)只有InnoDB类型的才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束 (2)外键的好处...
  • 一、多1、主键:用来唯一标识一条记录,不能有重复的,不允许为空,用来保证数据的完整性,并且主键只能有一个2、外键:外键是另一个表的主键,外键可以重复,可以为空,但是为空数据就跟与之相关联的没关系...
  • 外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性。 语法: (1)添加约束 -- 创建是添加外键约束 CREATE TABLE 表名( 列名 数据类型, … [CONSTRAINT] [外键...
  • 1.查询所有外键的:select table_name, constraint_name from user_constraints where constraint_type = 'R';2.禁用所有外键约束, 使用下面的sql生成对应sql脚本:select 'alter table ' || table_name || ' ...
  • 他的这种社交营销的能力,实在是太强了,在怂恿之下,开始给儿子拼,各位有空帮砍下,https://w.url.cn/s/AzlPAB9,或者扫下码,言归正传,看到老杨写的这篇小文《ORA-02292_主表外键约束的情况,如何...
  • 多对多外键链表之一对多外键链表:就是a通过外键连接b的主键,建立链表关系,需要注意的是a表外键字段类型,必须与要关联的b的主键字段类型一致,否则无法创建索引一对多:就是b的某一个字段值对应a表外键里...
  • 这里两张,第二张表设置了外键 查询这个department部门中有几个员工 select t_departments.id,t_departments.name,t_departments.location, t_employees.id emp_id,t_employees.name emp_name,t_employees....
  •  这里以用户和用户组为例,这是一个典型的多对一关系,多个用户对应于一个用户组。  首先创建用户组:  create table t_group(  id int not null,  name varchar(30),  primary key(id)  ); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,757
精华内容 39,102
关键字:

一个表能有几个外键

友情链接: ASP.rar