J'ai un tableau Produit qui a un champ fabricant. Le champ fabricant est actuellement de type VARCHAR.MySQL insérer dans la table en sélectionnant des données d'une autre table
je pensais qu'il valait mieux créer une table Fabricant et modifier le produit table pour inclure un MANUFACTURER_ID champ qui bien sûr sera une clé étrangère faisant référence Manufacturer.id
Donc, pour migrer les données que je veux insérer dans le nouveau champ Product.manufacturer_id le id du Fabricant dont le nom correspond à l'actuel Champ Product.manufacturer.
Je vais avoir des problèmes la migration des données en utilisant la requête suivante:
INSERT INTO Product (manufacturer_id)
SELECT m.id FROM Manufacturer AS m WHERE m.name =
SELECT p.manufacturer FROM Product AS p WHERE p.manufacturer = m.name;
Quelqu'un peut-il me montrer où je vais mal?
Une réponse ci-dessous ressemble à ce que vous cherchez. Mais si vous avez encore des difficultés, voir: [Pourquoi devrais-je fournir un MCVE pour ce qui me semble être une requête SQL très simple?] (Https://meta.stackoverflow.com/questions/333952/why-should- i-fournir-un-mcve-pour-ce-qui-me-semble-à-être-un-très-simple-sql-query) – Strawberry