我想将 ID = 1 的行复制到同一张表中的新行。但两列(UID 和日期)不能与原始行相同。
INSERT IGNORE INTO `Posts` (`A`,`B`,`UID`,`Date`) VALUES
如何从 ID = 1 的行中获取所有值,但将 UID 更改为 2 并将日期更改为 NOW()?
我想将 ID = 1 的行复制到同一张表中的新行。但两列(UID 和日期)不能与原始行相同。
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;
查看示例
尝试
INSERT INTO Posts (`A`,`B`,`UID`,`Date`)
SELECT `A`,`B`,`UID`,`Date` FROM Post
ON DUPLICATE KEY UPDATE UID =2 DATE =NOW()
注意:在 UID 和日期列上建立索引