Der Versuch, ein paar Zeilen in einer Tabelle zu kopieren, sondern nur die ssreportid
Spalte 4 bis 6 ändern:MySQL INSERT INTO ... SELECT wirft Fehler 1064
INSERT INTO ssreportparticipant (ssreportid, sssurveyparticipantid) VALUES SELECT 6, sssurveyparticipantid FROM ssreportparticipant WHERE ssreportid = 4
Der Fehler sagt # 1064 in der Nähe von ‚wählen 6. .. 'aber wenn ich nur die SELECT-Klausel ausführen, wählt sie die Datensätze perfekt mit der neuen ID 6 in der ssreportid
Spalte.
Die Tabelle hat einen Primärschlüssel namens ssreportparticipantid, und es gibt einen eindeutigen Schlüssel (ssreportid, sssurveyparticipantid). Beachten Sie, dass die SELECT-Klausel neue Datensätze mit eindeutigen Schlüsselpaaren erstellt. Das ist also nicht das Problem. Ich habe versucht, Klammern um die select-Klausel zu setzen und sogar zwei Aliase für die Tabelle zu verwenden, keine Freude.
Verwenden der Serverversion 5.0.45.
Bitte sagen Sie mir, dass Programmierer Müdigkeit hat mir ein Komma oder etwas fehlt.
Danke,
-Josh
Vielen Dank. Vielen Dank. Ich bin ein Idiot und total FAILZ beim Lesen des Handbuchs. – iopener
Korrekt. Werte werden verwendet, wenn die Werte angegeben werden: in ssreportparticipant einfügen (ssreportid, sssurveyparticipantid) WERTE (6, 20) In diesem Fall liefert die select-Anweisung die Werte. –
Gern geschehen;) – ybo