CREATE TABLE `test` (
  `id` varchar(100) COLLATE utf8_estonian_ci NOT NULL COMMENT '唯一不重复',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `sex` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `classes` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `major` int(255) DEFAULT NULL,
  `QQ` int(20) DEFAULT NULL,
  `introducemyself` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci ROW_FORMAT=DYNAMIC;

插入语句:

INSERT INTO test(id,sex,name,username,password,classes,major,QQ,introducemyself) VALUE(replace(uuid(), '-', ''),1,"小米","xck","001","八班",265,953190259,"我最牛");

执行了俩次,生成了俩个不同id:

2、id实现自动增长

将类型改为整型,下方选择自动增长

 看DDL:

CREATE TABLE `test` (
  `id` bigint(100) NOT NULL AUTO_INCREMENT COMMENT '唯一不重复',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `sex` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `classes` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `major` int(255) DEFAULT NULL,
  `QQ` int(20) DEFAULT NULL,
  `introducemyself` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci ROW_FORMAT=DYNAMIC;

插入一条数据,sql:

INSERT INTO test(sex,name,username,password,classes,major,QQ,introducemyself) VALUE(1,"小米","xck","001","八班",265,953190259,"我最牛");

对应数据库变化:

1.集群配置,包含三个结点,主节点控制所有的子节点 2.集群已经搭建好了,解压之后直接可以使用Finalshell和VMware连接 3.包含全套组件:hdfs,hbase,hive,sqoop,mysql,pig,spark等大数据组件 4.如果不知道如何使用,或者需要Hadoop项目可以私信博主 1、声明主键的方法: 您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略…], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (index_col_name,…); 创建一个qq表,将qq_id设为主键,且没有对其进行NOT NULl约束 create table qq( qq_id int(10), nick_name varchar(255) not null, primary key (qq_id l 第五组值是一个IEE 802的节点标识值,它是空间上唯一的。假如主机没有网卡,或者我们不知道如何在某系统下获得机器地址,则空间唯一性就不能得到保证,即使这杨,出现重复值的机率还是非常小的。l 多次调用或执行得到的后2组值相同,若把mysqld服务器关闭,重新启动之后,会发现第四组的组与未重启前的值发生变化,然后一直不变化,只要重新启动mysqld服务就会发生变化。UUID()函数产生的值,并不适合作为InnoDB引擎表的主键,至于详细的原因,请阅读文章。l 前三组值是时间戳换算过来的; SELECT REPLACE(UUID(),'-','');运行以上代码得到结果:4b1ea801bea911e7913c1418775159ef直接使用UUID()函数得到的结果是8e9503d9-beab-11e7-913c-1418775159ef,因为含有“-”与原有的ID不一致,我们就可以使用REPLACE函数去除“-”,保持格式一致。 没什么好讲的,肯定唯一 (2)UUID() 函数: MySQLUUID() 函数中,前三组数字从时间戳中生成,第四组数字暂时保持时间戳的唯一性,第五组数字是一个 IEEE 802 节点标点值,保证空间唯一。使用 UUID() 函数,可以生成时间、空间上都独一无二的值。 MySQL 5.1 之后的版本,提供 UUID_SHORT() 函数生成一个 64 位无符号整数 (3)程序自定义 Demo: select uuid(); select UU 前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。一:mysql和程序实例1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为主键,随机key作为主键, 当单库无法满足业务需求时,分库分表就是一种要的优化手段了,然而将原本属于一个库中的数据拆分成多份后,如果让每个表的主键依旧从1开始递增,这很明显是不满足全局唯一id的需要。那这个时候我们要使用哪种方式来保证我们的是全局唯一呢,接下来花哥分享几种常见的法,可以根据具体业务场景进行选择。 数据库自增id方式思路很简单,每次我们需要拿到id时,我们就向同一个库的某个表插入数据,此时我们会得到一个自增id,取到这个id之后再往对应的分库分表里去写入。同样该方式缺点也很明.. 简介: 分布式系统中最关键的一个问题,ID生成,本文,一篇带你掌握系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成策略。下面就介绍一些常见的ID生成策略。 数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。 1)简单,代码方便,性能可以接受。 2)数字ID天然排序,对分页或者需要排序的结果很有帮助。 1)不同数据库语法和实现不同,数据库迁移的时 Mysql innodb存储引擎 一:为什么使用UUID UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUIDUUID 便于生成,不会重复,在分布式架构的系统中,很常见,但对于使用了mysql innodb 存储引擎来说,U 1.为什么要使用uuid主键 (1).其实在innodb存储引擎下,自增长的id主键性能已经达到了最佳。不论是存储和读取速度都是最快的,而且占的存储空间也是最小。 (2).但是在我们实际到项目中会碰到问题,历史数据表的主键id会与数据表的id重复,两张自增id主键的表合并时,id一定会有冲突,但如果各自的id还关联了其他表,