【发布时间】:2021-09-17 13:24:19
【问题描述】:
我有两张桌子,第一张是“学生”:
id (PK) "auto_inc"
student_name
email
第二个是“账单”:
id (PK) "auto_inc"
student_id (FK -> id)
total_balance
当我在同一查询中添加新学生时,我试图将最后一个“id”自动插入“student_id”。 这是我向表中添加新学生的查询
insert into student (name, major, emailAddress)
values ( :name, :major, :emailAddress )
例如:
id= 1
student_name= "Mike"
email= "mike@mail.com"
bill table:
id= 1
student_id= 1 "from 'student' table"
total_balance= 100
我对 SQL DB 没有太多经验,我最近在使用它。
【问题讨论】:
-
寻找
LAST_INSERT_ID()。在第一个查询之后,您可以将其调用为第二个查询中需要使用的 id。 -
您不能通过一个查询将数据插入到两个表中。您可以使用 PHP 代码中的两个连续查询来执行此操作,也可以编写一个存储过程来执行此操作。
-
或者您可以尝试使用
TRIGGER,如记录的here。在表student上插入后创建触发器,在这个触发器内,您可以编写语句插入到bill表 -
对 MySQL 使用 LAST_INSERT_ID()。首先插入学生表。然后插入账单。将有 2 个插入查询。第一个是学生,第二个是账单。在存储过程中编写这两个查询。