Je suis confus sur la façon de copier une colonne d'une table à une autre table en utilisant où. J'ai écrit une requête SQL, mais il dit que le temps de verrouillage de transaction dépassé ou la requête revient plus d'une ligne.
[.____] Utiliser MySQL
Essentiellement,
J'ai:
Table 1: Results
BuildID platform_to_insert
Table 2: build
BuildID correct_platform
update results set results.platform_to_insert
= (select correct_platform from
build where results.BuildID = build.BuildID)
Je ne crois pas que vous avez besoin d'une sous-requête.
UPDATE results, build
SET results.platform_to_insert = build.correct_platform
WHERE results.BuildID = build.BuildID
Il y a deux options ici:
BuildID
comme clé primaire (pour éviter les doublons)mettez à jour votre sous-requête pour renvoyer un seul résultat
UPDATE results SET results.platform_to_insert = (
SELECT correct_platform
FROM build
WHERE results.BuildID=build.BuildID LIMIT 1
);