将记录发布到父子关系表

时间:2017-06-10 21:09:06

标签: php mysql linux

我正在开发一个基于网络的项目。一个基于linux的网站,有php 5.4和MySQL 5.5.54-cll。

我必须保存销售发票。为此,我创建了两个表:

1)sale1(父表,ID为自动增量唯一)

2)sale2(子表,父ID为INT)

问题是我必须在sale1中插入一行,然后必须在sale2中插入许多记录,这些记录应该有sale2.parentID = sale1.ID

我想创建像我们在MS Access中创建的关系(一对多)。

1 个答案:

答案 0 :(得分:2)

您必须使用外键(read here)创建子表:

CREATE TABLE Parent (parentID int primary key auto_increment, parentNAME varchar(20));

CREATE TABLE Child (childID in primary key auto_increment,
parentID int,
FOREIGN KEY (parentID)
    REFERENCES Parent(parentID));

在php中你必须:

  1. 插入父行
  2. 使用mysql_insert_id获取父ID(要使用的函数取决于您使用的mysql库。阅读有关mysql_insert_id on php的手册)
  3. 使用mysql_insert_id作为parentID值
  4. 插入子行