很抱歉,描述不正确,不确定该怎么称呼。
我正在尝试将不良的数据库结构迁移到更好的数据库结构。 旧的存储,在发票表中说客户名称。 新的我需要一个对客户表的引用,以便在需要时可以查询有关客户的更多信息。
因此,为了不完全破坏所有旧条目,我想要一个从tbl1中获取col2,col3,col4的查询,并查询tbl2,tbl3和tbl4来获取ID为 列的每个内容。
然后,我想用它们相应列中的这些ID更新tbl1中的行。
问题是,我不知道如何执行此操作。 我什至不知道要寻找什么来了解它。
更好的例子:
您有宠物主人桌子。旧表有:
Owner: John
pet: Dog
但是现在我有一个所有者的表和一个宠物的表,所以我想更新宠物所有者表中的列,以便对于每行(在这种情况下)将搜索下表以查找“约翰”和宠物-dog的表,并返回其ID并使用该表更新宠物主人表。
答案 0 :(得分:0)
如果添加新列来保存ID,填充它们,然后稍后再删除旧列,则您的时间会容易得多。
如果这样做,您的update
将会是:
update pet_owner
inner join pet on pet_owner.pet_name = pet.name
inner join owner on pet_owner.owner_name = owner.name
set pet_owner.pet_id = pet.id
pet_owner.owner_id = owner.id
;