mysql——主键自动增长&唯一索引

首先说一下主键和唯一索引的区别

主键:一个数据库的一张表有且仅有一个主键,而且主键不能重复

唯一索引:一个数据库的一张表上唯一索引可以有多个,只是所在唯一索引上的值不能重复,这一点和主键一样


下面我们创建一个有主键有唯一索引的,并且主键是自动增长

create table demo
 (id int primary key auto_increment,
name char(10) unique key,
age int);

接下来我们插入数据看看



mysql——主键自动增长&唯一索引

原文地址:https://www.cnblogs.com/xiaostudy/p/9373982.html

时间: 2024-10-21 23:02:11

mysql——主键自动增长&唯一索引的相关文章

Mysql,SqlServer,Oracle主键自动增长的设置

1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如:   customers(id  auto_increment    , name (  customers(name)  id  customers; 以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值.最后查询表中id字段,查询结果为: 由此可见,一旦把id设为auto_increment类型,mys

mysql设置主键自动增长

创建数据库,创建表. Sql代码   mysql> create database ssh2; Query OK, 1 row affected (0.04 sec) mysql> use ssh2; Database changed mysql> create table user( -> id integer primary key, -> firstname varchar(200) not null, -> lastname varchar(200) not n

MySQL主键自动生成和生成器表以及JPA主键映射

MySQL主键自动生成 表设计 MySQL有许多主键生成策略,其中很常见的一种是自动生成.一般情况下,主键类型是BIGINT UNSIGNED,自动生成主键的关键词是AUTO_INCREMENT. CREATE TABLE Stock ( id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, NO VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, price DECIMAL(6,2) N

MYSQL主键自动增加的配置

文章一 原文地址: http://ej38.com/showinfo/mysql-202971.html 文章二:   点击转入第二篇文章 在数据库应用,我们经常要用到唯一编号.在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成.MySQL支持多种数据表,每种数据表的自增属性都有所不同. ISAM表 如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号.编号从1开始,并1为基数递增. 当插入记录时,没有为AUTO_INCREME

Mysql:设置主键自动增长起始值

比较郁闷昨天在家使用‘alter table `tablename` AUTO_INCREMENT=10000;’怎么也不起效,但是今天下班时间公司一同事尝试了一下就可以了.搞不明白自己当时是怎么操作的,导致最终不起效. 实现目标:mysql下将自增主键的值,从10000开始,即实现自增主键的种子为10000. 方案1)使用alter table `tablename` AUTO_INCREMENT=10000 创建自增主键之后,使用alter table `tablename` AUTO_IN

slqserver 主键自动添加聚集索引的问题

据我们所了解,sqlserver 在添加主键的时候,会自动将我宝贵的聚集索引添加在我们的ID 上,然后,有些时候,我们想添加在 常用的搜索的字段上,这个时候,如果主键已经创建了:我们可以使用下面的方法来进行更改: --create index index_索引名 on 表名(列名) sp_helpindex 'Category' --查看表的索引 exec sp_helpconstraint 'Category' --查看表的约束 Alter Table Category DROP constr

oracle添加数据时主键自动增长

CREATE TABLE STUDENT( --创建学生表  ID NUMBER(10) PRIMARY KEY,   --主键ID  SNAME VARCHAR2(20), ); 此时给学生表添加数据时 必须指定id INSERT INTO STUDENT VALUES(1,'Tom'); 下面用触发器和序列结合使得添加数据时id自动增长 不要指定了 --创建序列CREATE SEQUENCE SEQ_STUINCREMENT BY 1  ID每次自增几START WITH 1 ID从几开始自

mysql 主键自增长并且设置默认值

CREATE TABLE `ecm_address` ( `addr_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL DEFAULT '0', `consignee` varchar(60) NOT NULL DEFAULT '', `region_id` int(10) unsigned DEFAULT NULL, `region_name` varchar(255) DEFAU

SQLServer数据库中的主键自动增长标识列的一些特殊操作

一.关闭自动标识列的自动增长: 操作需要的命令为:SET IDENTITY_INSERT [TABLE][ON|OFF]  后面的参数如果为“ON”,表示:开启标识列手动插入功能.一旦命令执行成功表示此后往表中插入数据,自动标识列将不会自动增长,需手动插入此列的内容.当然,数据添加操作完成后,我们又需要将“自动增长”的功能再次开启,也就是上面的语句再执行一次,不过最后的参数换成“OFF”,表示“退出标识手动插入功能”. 二.重置标识列的值为某个值: 操作需要的命令为:DBCC CHECKIDEN