0
我有表以下数据 (此处键字段包括site__marker的)更新使用来自另一表匹配的ID
id userid key value
1 1 site_1_name http://example1.com
2 1 site_1_user user1
3 1 site_2_name http://example2.com
4 2 site_1_name http://example3.com
5 2 site_1_user user2
和我的网站映射表
oldsiteid newsiteid
1 120
2 152
现在场的一部分我需要更新第一个表,只更新关键字段 中的值应该与第二个表中的oldsiteid匹配,并且应该由newsiteid更新
输出应该像
id userid key value
1 1 site_120_name http://example1.com
2 1 site_120_user user1
3 1 site_152_name http://example2.com
4 2 site_120_name http://example3.com
5 2 site_120_user user2
如何做到这一点?
是刻在石头上这些表的结构,也可以加以改变?如果映射表没有以任何其他方式使用,我会将数据更改为精确地指向您的键“字段”(又名_site_1_name_等)的值,这会使其变得非常简单。否则,要解决这个问题相当痛苦。 – Bjoern
您的第一张表格不是[第一范式](http://en.wikipedia.org/wiki/First_normal_form),因为行列'key'不是标量值,因此您的数据不是关系数据,因此它不适合使用SQL进行更新。首先修复设计。 – onedaywhen