我有一张桌子:
+----+--------+---------+--------+-------+
| Id | MainId | MainUrl | Url | Name |
+----+--------+---------+--------+-------+
| 1 | | | /item1 | Item1 |
| 2 | | /item1 | /item2 | Item2 |
| 3 | | /item1 | /item3 | Item3 |
| 4 | | /item1 | /item4 | Item4 |
| 5 | | /item2 | /item5 | Item5 |
+----+--------+---------+--------+-------+
如何将从MainUrl链接到Url的行的Id添加到MainId列?所以最后我有:
+----+--------+---------+--------+-------+
| Id | MainId | MainUrl | Url | Name |
+----+--------+---------+--------+-------+
| 1 | | | /item1 | Item1 |
| 2 | 1 | /item1 | /item2 | Item2 |
| 3 | 1 | /item1 | /item3 | Item3 |
| 4 | 1 | /item1 | /item4 | Item4 |
| 5 | | /item2 | /item5 | Item5 |
+----+--------+---------+--------+-------+
我知道连接相应的行不是非常有效和常用的方法,但我需要它用于我自己的目的。请避免使用双链接(!)
答案 0 :(得分:1)
您可以在更新中使用join
:
update t join
t tt
on t.mainurl = tt.url and t.mainurl <> ''
set t.mainid = tt.id;