我必须从不同的表中插入多个列,但仍然遇到同样的问题。
问题是这样的:我可以将 TableA.ColumnA 中的列插入 TableB.ColumnA 没问题。但是接下来我需要将 TableC.columnA 插入到 TableB.columnB 中,并且这个 INSERT 命令添加了额外的行来更改数据的 id。
下面是我的插入命令,以及我为使 id 匹配(不成功)而执行的 UPDATE 命令。
我知道插入命令可以添加额外的行,但是我如何通过它以便 id 匹配?
我认为也许这些列设置了自动增量,但它们没有——所以这似乎不是问题。任何帮助是极大的赞赏。
(1) INSERT INTO users_posts
(author_id,
post_id,
post_title)
SELECT contents.user_id, contents.id, contents.title
FROM contents
WHERE contents.id = id
(2) INSERT INTO users_posts
(post_content)
SELECT content_bodies.content
FROM content_bodies
WHERE content_bodies.id = id
(3) UPDATE users_posts
SET post_content = (SELECT content_bodies.content
FROM content_bodies
WHERE content_bodies.id = users_posts.post_id)