我想將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