Essayer de reproduire quelques lignes d'une table, mais il suffit de changer le du 4 au 6 colonne ssreportid
:MySQL INSERT INTO ... SELECT lance erreur 1064
INSERT INTO ssreportparticipant (ssreportid, sssurveyparticipantid) VALUES SELECT 6, sssurveyparticipantid FROM ssreportparticipant WHERE ssreportid = 4
L'erreur dit # 1064 près de « select 6,. .. 'mais si je viens d'exécuter la clause select, il sélectionne parfaitement les enregistrements, avec le nouvel identifiant de 6 dans la colonne ssreportid
.
La table a une clé primaire appelée ssreportparticipantid, et il y a une clé unique sur (ssreportid, sssurveyparticipantid). Notez que la clause select crée de nouveaux enregistrements qui ont des paires de clés uniques, ce n'est donc pas le problème. J'ai essayé de mettre des parenthèses autour de la clause select, et même en utilisant deux alias pour la table, pas de joie.
Utilisation de la version du serveur 5.0.45.
S'il vous plaît dites-moi que la fatigue du programmeur m'a manqué une virgule ou quelque chose.
Merci,
-Josh
Merci. Je vous remercie. Je suis un idiot et totalement FAILZ à lire le manuel. – iopener
Correct. Les valeurs sont utilisées lorsque les valeurs sont données: insert dans ssreportparticipant (ssreportid, sssurveyparticipantid) VALUES (6, 20) Dans ce cas, l'instruction select fournit les valeurs. –
Vous êtes les bienvenus;) – ybo