我正在开发一个基于网络的项目。一个基于 Linux 的网站,采用 php 5.4 和 MySQL 5.5.54-cll。
我必须保存销售发票。为此,我创建了两个表:
1) sale1(父表,ID为自增唯一)
2) sale2(子表,parentID为INT)
问题是我必须在 sale1 中插入一行,然后必须在 sale2 中插入许多记录,这些记录应该有 sale2.parentID = sale1.ID
我想创建关系(一对多),就像我们在 MS Access 中创建的那样。
最佳答案
您必须使用外键创建子表( 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 中你必须:
- 插入父行
- 使用mysql_insert_id获取父id(使用的函数取决于您使用的mysql库。请阅读有关mysql_insert_id on php的手册)
- 使用 mysql_insert_id 作为 ParentID 值插入子行
关于php - 将记录发布到父子关系表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44478104/