zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL数据迁移批量写UUID数据工作记录

2023-03-15 23:26:11 时间

MySQL数据迁移批量写UUID数据工作记录

背景:最近在迁移表数据,需要向一张业务关联表批量写数据,所以需要批量生成uuid和时间等等数据

软件环境:

  • Mysql5.0+
  • navicat

注意:遇到一个问题replace(uuid() , '-' ,''),通过replace查询uuid,发现全都一样,所以批量写数据时候,不能使用replace,直接使用uuid()这个函数就可以批量生成uuid,然后再更新uuid就行

使用uuid()才会生成不一样的uuid

insert into t_catalog_division (CODE, CREATE_MAN, CREATE_MAN_NAME, CREATE_TIME,UPDATE_MAN,UPDATE_MAN_NAME,UPDATE_TIME,valid,FROM_CATALOG_CODE,BUSINESS_DIVISION_CODE)
SELECT UUID(),
	'admin',
	'测试001',
	sysdate(),
	'admin',
	'测试001',
	sysdate(),
	1,
	a.code,
	'yw'
FROM
	t_form_catalog a
where a.code not in (select FORM_CATALOG_CODE from t_catalog_division where FORM_CATALOG_CODE = a.CODE)
limit 100

批量更新主键uuid,使用replace替换

update apply_form_catalog_division set code = replace(code , '-' ,'')