我感动的老螳螂表有一个varchar(64)
CATEGORY_ID列具有int(10)
CATEGORY_ID列一个新的螳螂表。MySQL的移动从varchar表为int
简化的结构如下
bug_table(旧DB)
+----+-------------+-------------+--------+ | id | project_id | category_id | report | +----+-------------+-------------+--------+ | 1 | 0 | Server | crash | | 2 | 0 | Database | error | | 3 | 1 | Server | bug | | 4 | 1 | Server | crash | +----+-------------+-------------+--------+
category_table(新DB)
+----+------------+----------+ | id | project_id | name | +----+------------+----------+ | 0 | 1 | Server | | 1 | 1 | Database | | 2 | 2 | Server | | 3 | 2 | Database | +----+------------+----------+
我需要一个神奇的查询将取代category_id
在bug_table与数字category_id
在category_table。幸运的是,我可以匹配project_id
和name
的类别。
这是我的工作,但已经得到了卡在复杂
UPDATE bug_table b SET b.category_id = c.id USING category_table WHERE b.category_id = c.name
谢谢,我会给这个镜头。然而,project_id是不可或缺的,它是Mantis表的一部分,每个项目都有自己的类别。 – yallo