gpt4 book ai didi

mysql - 如何将一个表中已有另一个表中的记录的记录插入到一​​个表中?

转载 作者:行者123 更新时间:2023-11-29 16:30:54 25 4
gpt4 key购买 nike

我有表parent和表kids, parent 可以在 child 表中拥有一些 child (0个或更多)。

我想仅将在 kids 表中拥有 child 的 parent 插入到新表 parentWithKids 中。

所以我尝试了类似的方法:

INSERT INTO parentWithKids
SELECT *
FROM parent p
INNER JOIN kids k ON p.id = k.parent_id

但它没有运行...这里有什么问题?

最佳答案

我假设以下架构。

家长:

CREATE TABLE IF NOT EXISTS `parent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

children

CREATE TABLE IF NOT EXISTS `kids` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

parent 与 child

CREATE TABLE IF NOT EXISTS `parentwithkids` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL,
`kids` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

这是检索 parent 列表和 child 数量的最终查询。

INSERT INTO parentWithKids(parent_id, kids)
SELECT DISTINCT p.id, count(k.id)
FROM parent p
INNER JOIN kids k ON p.id = k.parent_id
GROUP BY k.parent_id

关于mysql - 如何将一个表中已有另一个表中的记录的记录插入到一​​个表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53922882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com