Mysql 重复行更改某些列?

Mysql 重复行更改某些列?,mysql,Mysql,我想将ID=1的行复制到同一表中的新行。但是两列(UID和Date)不能与原始行相同 INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES 如何从ID=1的行中获取所有值,但将UID更改为2,将日期更改为NOW() 试试看: INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) select a, b, 2, now() from `Posts` where UID = 2; 请参见

我想将ID=1的行复制到同一表中的新行。但是两列(UID和Date)不能与原始行相同

INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES 
如何从ID=1的行中获取所有值,但将UID更改为2,将日期更改为NOW()

试试看:

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

尝试:

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

尝试

注意:在UID和日期列上建立索引


注意:对UID和Date列进行索引

我认为这是一个错误,您不能在该语句中使用
。我认为他的意思是您必须在语句中使用value()。无论如何,我无法使它工作。@Liso22我添加了一个小提琴手示例。我认为这是一个错误。在这个语句中,您不能使用
。我认为他的意思是您必须在语句中使用value()。无论如何,我不能使它工作。@Liso22我添加了一个fiddler示例。我不能为任一列建立索引。我不能为任一列建立索引。
INSERT INTO Posts (`A`,`B`,`UID`,`Date`) 
SELECT `A`,`B`,`UID`,`Date` FROM Post
ON DUPLICATE KEY UPDATE UID =2 DATE =NOW()