我想将ID = 1的行复制到同一个表中的新行。但是两列(UID和Date)不能与原始行相同。重复行更改某些列?
INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES
如何获得的所有值从ID = 1行,但更改UID为2和日期NOW()?
我想将ID = 1的行复制到同一个表中的新行。但是两列(UID和Date)不能与原始行相同。重复行更改某些列?
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 IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`)
select a, b, 2, now() from `Posts` where UID = 2;
我认为这是一个错误,你不能''价值'在这个声明 –
@安南达布抱歉,但我不明白... – alfasin
我认为他的意思是你必须在声明中使用VALUES()。无论如何,我无法做到这一点。 – lisovaccaro
TRY
INSERT INTO Posts (`A`,`B`,`UID`,`Date`)
SELECT `A`,`B`,`UID`,`Date` FROM Post
ON DUPLICATE KEY UPDATE UID =2 DATE =NOW()
注:UID赚指数和日期列
我无法制作任何列的索引。 – lisovaccaro
表结构? – diEcho