ID = 1 の行を同じテーブルの新しい行にコピーしたい。ただし、2 つの列 (UID と日付) は元の行と同じであってはなりません。
INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES
ID = 1 の行からすべての値を取得し、UID を 2 に、日付を NOW() に変更するにはどうすればよいですか?
ID = 1 の行を同じテーブルの新しい行にコピーしたい。ただし、2 つの列 (UID と日付) は元の行と同じであってはなりません。
INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES
ID = 1 の行からすべての値を取得し、UID を 2 に、日付を NOW() に変更するにはどうすればよいですか?
INSERT INTO `Posts` (`A`,`B`,`UID`,`Date`)
SELECT col1, col2, `your definedvalue1`,`your defined date `,
FROM this_table
WHERE 1>0(your condition);
試す
INSERT INTO Posts (`A`,`B`,`UID`,`Date`)
SELECT `A`,`B`,`UID`,`Date` FROM Post
ON DUPLICATE KEY UPDATE UID =2 DATE =NOW()
注: UIDおよび日付列にインデックスを作成します
試す:
INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`)
select a, b, 2, now() from `Posts` where UID = 2;
例を見る