所有发票行的发票号相同

时间:2016-03-29 08:53:05

标签: mysql

我有一张桌子

tbl_invoice(invno,company_name,date,total) primary key(invno)

invno是自动递增的。另一张表

tbl_invoicelines(lineid,invno,productname,qty,unitprice,amount).
primary key(lineid,invno)

lineno是自动增量

即使有多个发票行,我应如何提供MySql insert声明,以便我获得特定invno的发票? 我真的很喜欢编程。请帮助。

1 个答案:

答案 0 :(得分:0)

您一个接一个地使用多个语句。

第1步: 首先执行语句"insert into tbl_invoice ..."以将行插入发票表中。在此插入中,不要为invno指定值。一个将由数据库自动选择。

第2步: 然后执行以下语句:"select LAST_INSERT_ID();"。这将为您提供数据库选择为invno的ID。将SQL语句返回的ID存储到本地变量中。

步骤3:然后,您可以为tbl_invoicelines表执行多个insert语句,使用您在步骤2中获得的变量构建SQL字符串。

围绕所有三个步骤使用事务,以便在其中一个步骤失败时,您可以回滚并撤消所有这三个步骤。