1

我想将 ID = 1 的行复制到同一张表中的新行。但两列(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 IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) 
select a, b, 2, now() from `Posts` where UID = 2;

查看示例

于 2012-09-15T05:16:16.077 回答
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 回答