首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用2个字段名之间的匹配更新MySQL表(父类别、子类别)

问使用2个字段名之间的匹配更新MySQL表(父类别、子类别)
EN

Stack Overflow用户
提问于 2009-10-04 09:38:50
回答 1查看 288关注 0票数 1

我导入了一些数据到mysql数据库中,并试图清理它。

| ID |分类名称|父名称| parent_id

代码语言:javascript
复制
1 Baseball (this is a parent)
2 Ball | Baseball | null
3 Bat | Baseball | null
4 Glove | Baseball | null
5 Basketball (this is a parent)
6 Basket | Basketball | null
7 Net | Basketball | null

如何执行UPDATE语句才能更新每个子类别的parent_id,使其具有父id?因此,不是

2球|棒球|空

我喜欢有

2球|棒球|1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-04 09:52:17

MySQL通常不允许您在同一个表上运行select和update,但您可以使用“派生表”来欺骗它:

代码语言:javascript
复制
UPDATE categories
SET parent_id = (
    SELECT id FROM (SELECT id, name FROM categories) c
    WHERE c.name=categories.parent_name
)
WHERE parent_name IS NOT NULL
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1516032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档