1

我有三个 MySql 表

类别表:

id        link_id     category_id
--------------------------------------
1          5           10
2          6           12
3          5           12

链接表:

link_id    link_title         link_url        website_id
-------------------------------------------------------
5          title            test.com/test         1
6          title2           test.com/test2        1
7          title3           link.com/linklist     2

网站表:

website_id      url
-----------------------------
1               test.com
2               link.com

现在我需要像这样将类别表 link_id 更改为 website_id

id        link_id(/website_id)     category_id
--------------------------------------
1          1                    10
2          2                    12
3          1                    12

这可能使用 MySql 更新查询吗

先感谢您!

4

4 回答 4

3

你可以加入两个表,

UPDATE  category a
        INNER JOIN link b
            ON a.link_id = b.link_ID
SET     a.link_ID = b.website_ID
于 2013-03-11T07:42:05.980 回答
0

尝试此查询,但请确保在执行此操作之前有备份。

UPDATE category AS c
  INNER JOIN Link AS l
    ON l.link_id = c.link_id
SET c.link_id = l.website_id
于 2013-03-11T07:42:16.343 回答
0
UPDATE category
SET link_id = website_id FROM Link L
WHERE L.link_id = category.link_id
于 2013-03-11T07:50:59.853 回答
0

你能试试这个吗??

update catagory a
set a.link_id = (
  select b.website_id from link b
  inner join website c on b.website_id = c.website_id
    where a.link_id= b.link_id)
于 2013-03-11T07:54:33.233 回答