我想我的正常化表:的MySQL插入來自其他表的ID值到匹配的行
products
id | name | manufacturer | manufacturer_id
manufacturers
id | name
我需要查詢以更新products.manufacturer_id其中products.manufacturer = manufacturers.name(我會再刪除產品.manufacturer)
非常感謝您的時間
湯姆
我想我的正常化表:的MySQL插入來自其他表的ID值到匹配的行
products
id | name | manufacturer | manufacturer_id
manufacturers
id | name
我需要查詢以更新products.manufacturer_id其中products.manufacturer = manufacturers.name(我會再刪除產品.manufacturer)
非常感謝您的時間
湯姆
你可以試試這樣:
update products INNER JOIN manufacturers
set products.manufacturer_id = manufacturers.id
where products.manufacturer = manufacturers.name
@Tomasz: - 哦,是的。謝謝。更新了。 – 2014-08-30 20:02:15
這個工程! – Tomasz 2014-08-30 20:14:33
update products p
set p.manufacturer_id =
(select m.id from manufacturers m where m.name = p.manufacturer)
你還沒說的是'products.manufacturer'沒有設置,'products.manufacturer_id'是。正確? – 2014-08-30 20:01:10
恰恰相反 - 我正在從名稱切換到ID。 – Tomasz 2014-08-30 20:58:03