MySQL-在多个插入中使用上次插入的id

MySQL-在多个插入中使用上次插入的id,mysql,loops,Mysql,Loops,因此,我想将一些数据从一个数据库导入另一个数据库,如下所示: ID, title, content 对于第一个表,我可以很好地导出它,但是ID是自动递增的,我希望新数据库有它们唯一的ID,而不是由insert复制。 问题是这些帖子有一个类别,那就是: post, category 其中post是posts.ID。现在,我想做的是: INSERT INTO new_db.posts (title, content) VALUES SELECT db1.title, db1.content FR

因此,我想将一些数据从一个数据库导入另一个数据库,如下所示:

ID, title, content
对于第一个表,我可以很好地导出它,但是ID是自动递增的,我希望新数据库有它们唯一的ID,而不是由insert复制。 问题是这些帖子有一个类别,那就是:

post, category
其中post是posts.ID。现在,我想做的是:

INSERT INTO new_db.posts (title, content) VALUES SELECT db1.title, db1.content FROM old_db.posts db1
但我希望每个人都能从categories表中获得各自的类别。 我不确定我是否在解释自己,我希望如此。
谢谢

您没有说明类别列的位置,但是如果它在同一个表中,您可以执行以下操作:

INSERT INTO new_db.posts (title, content, category) 
SELECT db1.title, db1.content, c.category 
FROM old_db.posts db1, old_db.categories c 
WHERE db1.ID = c.post

如果要有一个自动递增的新的
ID
,则需要获得初始
INSERT
的结果(ID),并将其用于类别表中的新
INSERT

我认为示例数据和期望的结果将有助于解释您尝试执行的操作。插入新的_db.posts(title,content)从旧的_db.posts db1中选择db1.title,db1.content这是另一个表,如我所说,post(引用posts.ID)和category。