怎么向mysql导入数据的同时在主键列自动生成uuid

数据表有id这一列,为主键列。现在如果有数据文件,如excel或者xml,想将其中的数据导入对应的目标表,但是不使用数据文件中的id列,而是导入其他数据列的同时为id列生成uuid并保存在表里,怎么实现呢?

比如表结构是 id name age
excel文件是 1 张三 20等等,
导入的时候只让name=张三,age=20 id不取1而是生成一个uuid,怎么做到呢,工具是Navicat,数据库是mysql

4个回答

insert into table(id) values (uuid())

SYL2311246962
支持中文英文数字下划线 你可以先正常导数据,进到数据库只有id这列是数字
3 个月之前 回复
qq_27498287
诸葛浪 用导入向导导入数据文件,要求数据进去的时候就应该有id,这个语句根本无法执行
3 个月之前 回复

先导入进去在写个程序循环update吧

你可以先正常导数据,进到数据库只有id这列是数字,因为uuid都是不一样的
你可以写 update 表名 set id=uuid()

你导入的时候不做解析的么?数据属性对应之类的,那解析的时候直接添加进去啊
就比方说你解析完之后是不是需要放到user中? 那么user的名字是张三,user.setUserName("张三" ); 那你user.setId(util.getUUid());不就好了嘛?

但如果你只是操作数据库,就当我没回复吧.....

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mysql插入数据自动生成主键uuid
DemoMapper.java//注意方法的返回值必须是void;void add(Demo demo);==============================================demoMapper.xml:<insert id="add" parameterType="com.demo.pojo.Demo">      <selectKey keyPrope...
Oracle自动生成主键&&UUID
在使用Oracle的时候,需要添加一个唯一的主键,一般使用的是36位的唯一的字符串,我们有两种方式   转自: http://hbiao68.iteye.com/blog/1493759 一、使用数据库自动生成的方式,自动添加唯一的ID值   Sql代码   create table t_log(       ssid varchar2(36) default...
UUID主键自动生成,注解
@Id@GenericGenerator(name = "user_id", strategy = "uuid")@GeneratedValue(generator = "user_id")@Column(name = "user_id", unique = true, nullable = false, length = 32)
mybatis用mysql主键自动生成uuid
<selectKey keyProperty="uid" resultType="string" order="BEFORE"> select replace(uuid(), '-', '') as id from dual </selectKey>
SSH自动生成主键+UUID生成主键
SSH自动生成主键
导入数据后,怎么同时更改主键
导入数据后,怎么同时更改主键
Mysql主键选择之UUID和自增主键
引言之前有段时间用postgresql 数据库,在上云之后,从自增主键变为uuid,感觉uuid全球唯一,很方便。最近用mysql,发现mysql主键都是选择自增主键,仔细比较一下,为什么mysql选择自增主键,有什么不同。在mysql5.0之前,如果是多个master复制的环境,无法用自增主键,因为可能重复。在5.0以及之后的版本通过配置自增偏移量解决了整个问题。什么情况下我们希望用uuid1....
注解配置MySQL数据库表uuid主键
@Id @GenericGenerator(name="systemUUID",strategy="uuid") @GeneratedValue(generator="systemUUID") @Column(name = "id", nullable = false) private String id;
在Oracle与mysql中自动生成uuid
ORACLE中:update DIC_BLOOD_TYPE_RH set id = sys_guid (); MYSQL中:update sheet1 set id = UUID();
在MYSQL中,我想向auto_increment的主键那样,自动生成UUID。
比如主键是ID,rninsert into (testfld) values ('asdf');rn结果集应该是rnID testfldrn1 asdfrnrn现在我想让id的值变成UUID生成的内容,而且还不能修改insert语句,可以么?请举例,谢谢。
play中使用uuid代替自动生成主键
@Id@GeneratedValue(generator = "system-uuid")@GenericGenerator(name = "system-uuid", strategy = "uuid")@Column(length = 32)public String id;其他不变extends Model改成extends play.db.jpa.GenericModel...
MyBatis —— 创建数据自动生成32位UUID主键
文章目录MyBatis —— 创建数据自动生成32位UUID主键简介如何处理错误 MyBatis —— 创建数据自动生成32位UUID主键 简介 数据表主键定义为32位UUID,插入时不想在程序中使用UUIDUtil,在My 如何处理 <insert id="insertSelective" parameterType="com.asset.disposal.entity.po.slave....
Linux向mysql导入数据
方式1: 1)登录mysql,命令:mysql -uroot -ppassword 2)创建mysql数据库:create database dbname; 3)设置编码:set names utf8; 4)导入数据:source /data/dbname.sql; 方式2: mysql -u用户名 -p密码 数据库名 < dbname.sql  ...
python多线程向mysql导入数据
功能如下:rn运行环境:windows,python连接mysql已经实现,还需要实现如下功能:rnpython启动多个线程(8个以上)同时遍历一个文件夹下的文件,将每个文件利用load infile导入mysql相应的表中,然后统计每个线程执行的时间;rnrn哪位高手能提供代码实现?谢谢
uuid的自动生成
/**  *   * @author 辰  *  */ public class UUCode { public static void main(String[] args){   System.out.println(Stringrandom());         System.out.println(subStringrandomUUID());       Syst
mysql订单表主键的自动生成
在mysql环境下,订单表的主键要怎么设计呢?不使用auto_increment自动增长,那怎么使他自动生成?
mysql 中uuid不适合做主键
在mysql中,uuid不适合做主键,特别是数据量大的情况下。主要有以下原因: 1. innodb 的非主键索引都将存一个主键,uuid 相比整数 id,索引大小增加很多; 2. uuid 主键比较肯定比 整数慢,另外非主键索引查找最终还要引用一次主键查找; 3. innodb 主键索引和数据存储位置相关(簇类索引),uuid 主键可能会引起数据位置频繁变动,严重影响性能。
Mysql 默认生成分布式主键UUID
-- 随便创建一张表 create table zhilian( id varchar(55) primary key comment"主键ID", name varchar(100) comment"公司名称", city varchar(20) comment"城市", positionURL varchar(100) comment"网址", w...
mysql向sqlserver2000导入数据的问题?
我想把mysql中的一个表的数据导入sqlserver2000中的一个表中,但两个表的名称和字段名都不相同,比如:rnrnmysql的数据库"dbmysql",表"a1",字段名"a1_1","a1_2";rnrnsql的数据库为"dbsql", 表"b1",字段名"b1_1","b1_2";rnrn实现将a1表中的字段"a1_1","a1_2"对应导入到b1表中的"b1_1","b1_2"中去,请问应该怎么实现?rnrn我自己只能实现用sql的数据导入导出功能,将mysql的表导到sql中新建的一张与其结构名称完全相同的表,但这种字段名不同的可能要用代码实现,我确实不会了,望高手指教!rnrn
从Access向mysql导入数据
项目需要定期将access里的数据自动导入到mysql;access里大概有十来张表的样子,总共的记录数大概是20w左右;rn我实现的思路如下:rn1. 逐行读取Access中的第一张表,并将每条记录组成一个sql语句,写入到一个临时的文件里;rn2.当某个表读完之后,再用程序依次执行这个临时文件里的每一行(每行都是一个sql插入的语句),插入到mysql数据库对应的表里。rn3.重复第一步,直到所有的用户表都被读取。rnrn这样可以实现,但速度太慢,20w条记录40分钟都弄不完;rn各位有什么好的建议没,谢谢了:)
《高性能MySQL》笔记-InnoDB UUID主键
使用了UUID聚簇索引的表插入数据,图1显示了结果。 因为新行的主键值不一定比之前插入的大,所以InnoDB无法简单地总是把新行插入到索引的最后,而是需要为新的行寻找合适的位置——通常是已有的数据的中间位置——并且分配空间。这会增加很多额外的工作,并导致数据分布不够优化。下面是总结的一些缺点: 写入的目标页可能已经刷到磁盘上并从缓存中移除,或者是还没有被加载到缓存中,InnoDB在插入之前不...
Mysql为什么不用uuid作为表的主键
UUID生成速率低下 Java的UUID依赖于SecureRandom.nextBytes方法,而SecureRandom又依赖于操作系统提供的随机数源,在Linux系统下,它的默认依赖是/dev/random,而这个源是阻塞的。最可怕的是,这个nextBytes方法还是一个synchronized方法,也就是说,如果多线程调用UUID,生成速率不升反降。 测试结果:在一台64线程的服务器上,...
MySQL中使用UUID()函数生成主键
SELECT REPLACE(UUID(),'-','');运行以上代码得到结果:4b1ea801bea911e7913c1418775159ef直接使用UUID()函数得到的结果是8e9503d9-beab-11e7-913c-1418775159ef,因为含有“-”与原有的ID不一致,我们就可以使用REPLACE函数去除“-”,保持格式一致。
Mysql 用 UUID做主键,可行吗?
由于某种限制不能使用自增ID,请问使用UUID可行吗? 效率是不是很低?还有其他办法吗?
UUID作为主键
-
UUID做主键,好还是不好?这是个问题
 我唯一还算熟悉的数据库就算是MySQL了,大概使用MySQL的人,百分之九九以上的人会使用Autoincrement ID做主键,这是可以理解的,因为MySQL的自增ID效率很高,使用也很方便。那么剩下的百分之一的人使用什么做主键呢?可能是自己做的KeyGenerator,也可能是我们下面要说的UUID。据说在Oracle的圈子里,如果谁用自增ID做主键是要被鄙视的,主键最自然的选择就是
uuid 生成主键
  uuid 生成主键   UUID(全球唯一编号)   UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID。从理论上讲,如果一台机器每秒产生10000000个UUID,则可以保证(概率意义上)3240年不重复。      UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID.  ...
UUID主键生成
<insert id="insert" parameterType="com.bdit.pojo.Message" > <selectKey keyProperty="id你的主键名" resultType="String" order="BEFORE"> select replace(uuid(),'-','') from dual </selectKey>
自增主键与UUID的优缺点
自增主键 自增ID是在设计表时将id字段的值设置为自增的形式,这样当插入一行数据时无需指定id会自动根据前一字段的ID值+1进行填充。在MySQL数据库中,可通过sql语句AUTO_INCREMENT来对特定的字段启用自增赋值 使用自增ID作为主键,能够保证字段的原子性. 优点 数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利; 数字型,占用空间小,易排序,在程序...
生成 uuid 的主键
// 生成 uuid 的主键    String id = UUID.randomUUID().toString().replaceAll( &quot;-&quot;, &quot;&quot; );
自动生成uuid的 工具类
import java.util.Random; import java.util.UUID; /* * 类描述:生成 * @auther wangmx * @create 2018/1/24 0024 */ public class Uuid { //uuid public static String getUUid(){ String id = UUID...
自动生成32位UUID的函数
直接通过 dbo.[FunGetUUID32](NEWID())即可获取到32位UUID,非常简单方便。
UUID生成系统主键
在项目中,表结构设计中只有一个主键且是系统自动生成,我就采取了UUID生成主键策略,下面是我生成主键的代码:package com.wonders.test;import java.util.UUID; /** * 使用uuid自动生成主键 * @author liyongyong * 2016年10月11日 */ public class TestUUID { public sta
Mysql使用 uuid实现主键
需要增加通过select uuid()得到uuid值 &amp;lt;!-- 保存用户 --&amp;gt; &amp;lt;insert id=&quot;saveUser&quot; parameterType=&quot;cn.itcast.mybatis.pojo.User&quot;&amp;gt;     &amp;lt;!-- selectKey 标签实现主键返回 --&amp;gt;     &amp;lt;!-- keyColumn:主键对应的表中的哪一列 --&amp;g...
Android UUID主键生成器
import java.io.Serializable; import java.net.InetAddress; import java.net.UnknownHostException; import java.security.SecureRandom;/** * <p> * Title:UUID主键生成器 * </p> * * @author chenlin * @versio
生成UUID主键
  //生成UUID主键 import java.util.UUID; public class Test { public static void main(String[] args) { for(int i=0;i&amp;lt;1000;i++){ UUID uuid = UUID.randomUUID(); System.out.println (...
高版本mysql向低版本mysql导入数据
今天遇到一个需求,原先开发一个原型项目的时候是放在国外的服务器上面, 然后这个项目成熟了之后想到国内来,提升页面浏览的速度.之前加载一个页面是这样的. 可以看见.这里的Content Download 居然到了20.87s 简直不可以忍受.然后排查问题发现,原因就是因为那个数据库是远程连接的数据库,在页面加载的时候,freemark也会循环去调用查询数据库的sql 由于是远程连接的sql,
mysql怎么导入数据
从一个数据 筛选有用的资料。 导入到另一数据库。怎么导?rnrn就假如 ID数。一张空表 要插入 如 100000000001 100000000002 100000000003 1千多个ID。手动是不可能的。rn要怎么弄呢?rn还有对于这些数据批量修改怎么修改。rn哪里有教程可以提供的话也好。 rnrn谢谢各位了。 rnrnPS: 我是新手- -·
oracle自动生成uuid的方法
1.创建一个表 create table t_user(id varchar2(200),name varchar2(200)); 2.生成uuid的语句 alter table t_user modify id default sys_guid(); update t_user set id = sys_guid(); 3.添加几条数据,查询就可以看到效果 insert into t_...
j2me中UUID的自动生成
在此j2me中如何自动生成一个UUID号呢rn一般在PC中做时只是自己手动编写,而在UUID.randomUUID();可以生成但它在J2ME中是不能实现的,因为J2ME中不存在import java.util.UUID; 所以哪位高手知道d J2ME中如何得到.应该不会是自己手写吧.
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法