MySQL INSERT INTO ... SELECTはエラー1064をスローします
テーブルの行をいくつか複製しようとしていますが、ssreportid
の列を4から6に変更してください:
INSERT INTO ssreportparticipant (ssreportid, sssurveyparticipantid) VALUES SELECT 6, sssurveyparticipantid FROM ssreportparticipant WHERE ssreportid = 4
エラーは#1064を 'select 6、 ssreportid
列の新しいIDが6のレコードを完全に選択します。
表にはssreportparticipantidという主キーがあり、(ssreportid、sssurveyparticipantid)には固有のキーがあります。 select句は、一意のキーペアを持つ新しいレコードを作成するので、問題はありません。私はselect句の前後に大括弧を入れてみましたが、テーブルの2つのエイリアスを使用しても喜びはありませんでした。
サーバーバージョン5.0.45を使用しています。
プログラマの疲れが私にカンマまたは何かがないことを教えてください。
ありがとう、
-Josh
ありがとうございます。ありがとうございました。私は馬鹿であり、マニュアルを読んでいる間は完全にFAILZです。 – iopener
修正。値が指定されると値が使用されます。 ssreportparticipant(ssreportid、sssurveyparticipantid)に挿入 VALUES(6、20) この場合、selectステートメントは値を提供します。 –
あなたは歓迎です;) – ybo