同时插入两列

Inserting two columns at the same time

我正在尝试插入到两个连接的表中。

Table 1: workouts(id, ...) id自动递增。

Table 2: customWorkouts(id, workoutID, ....)

但事实是,这两个表是连接的,customWorkouts.workoutID 引用 workouts.id。

我的问题是,我如何执行两个连续的查询,第一个创建一个新的锻炼,第二个创建一个相关的 customWorkouts?如何让创建的 customWorkouts 立即连接到我刚刚创建的锻炼?

使用last_insert_id():

insert into workouts(col1, col2) values('foo', 'bar');
insert into custom_workouts(workout_id, col1) values(last_insert_id(), 'baz');

请注意,这需要您 运行 同一连接上的两个查询:

For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis. It is not changed by another client.