1

ID = 1 の行を同じテーブルの新しい行にコピーしたい。ただし、2 つの列 (UID と日付) は元の行と同じであってはなりません。

INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES 

ID = 1 の行からすべての値を取得し、UID を 2 に、日付を NOW() に変更するにはどうすればよいですか?

4

3 に答える 3

1
INSERT INTO `Posts` (`A`,`B`,`UID`,`Date`) 

SELECT col1, col2, `your definedvalue1`,`your defined date `,
 FROM this_table
WHERE 1>0(your condition);
于 2012-09-15T05:16:27.793 に答える
0

試す

INSERT INTO Posts (`A`,`B`,`UID`,`Date`) 
SELECT `A`,`B`,`UID`,`Date` FROM Post
ON DUPLICATE KEY UPDATE UID =2 DATE =NOW()

注: UIDおよび日付列にインデックスを作成します

于 2012-09-15T05:19:10.703 に答える
0

試す:

INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) 
select a, b, 2, now() from `Posts` where UID = 2;

を見る

于 2012-09-15T05:16:16.077 に答える