Mysql复制插入数据

新建表

1
2
3
4
5
6
7
8
CREATE TABLE `t` (
`id` int NOT NULL AUTO_INCREMENT,
`age` int DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

SET FOREIGN_KEY_CHECKS = 1;

主键设为自增

创建两条数据

1
INSERT INTO t VALUES (null,30, 'c'),(null,22, 'd'); 

复制插入

1
2
3
4
5
INSERT INTO t 
SELECT null,age,name
FROM t
WHERE
age > 1;

ID为UUID时。

可用 REPLACE 函数将字符串中的某个字符替换即可。

1
2
3
4
5
INSERT INTO t 
SELECT REPLACE(id,'a','b'),age,name
FROM t
WHERE
age > 1;

将ID中的a替换成b

返回值时间加1个月

1
DATE_ADD( create_time, INTERVAL 1 MONTH ) 

create_time 为返回值,在原来的时间上加一个月。

-------------本文结束感谢您的阅读-------------