一个比较特殊的需求,要把某个表的内容复制3倍量
把每一条记录拆分成 ABC三份(名字后缀增加ABC后缀区分,名字字段是唯一索引)

首先确定了原表有325行,id最大一行值为 326


//保险起见先备份原表(其实并不是必须)
CREATE TABLE `mTable_bak` LIKE `mTable`;
INSERT INTO `mTable_bak` SELECT * FROM `mTable`;

//复制成分身B
INSERT INTO `mTable`(`shequ`, `name`, `addr`, `wuguan`, `contact`, `contactphone`) 
SELECT `shequ`, CONCAT(`name`,'B'), `addr`, `wuguan`, `contact`, `contactphone` 
FROM `mTable` 
WHERE `id` <= 326;

//复制成分身C
INSERT INTO `mTable`(`shequ`, `name`, `addr`, `wuguan`, `contact`, `contactphone`) 
SELECT `shequ`, CONCAT(`name`,'C'), `addr`, `wuguan`, `contact`, `contactphone` 
FROM `mTable` 
WHERE `id` <= 326;


//最后改变原来的数据加上 A后缀
UPDATE `xiaoqu` SET `name`=CONCAT(`name`,'A') WHERE `id` <= 326;

标签: mysql

添加新评论