mysql 只有主键能自动增长么

mysql 只有主键能自动增长么,第1张

不一定的,MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:
-- 将自动增长字段设置为主键
create table t1 (id int auto_increment Primary key,sid int);
-- 将自动增长字段设置为非主键,注意必须显式添加Unique键
create table t2 (sid int primary key,id int auto_increment Unique);
-- 将自动增长字段设置为非主键如果未添加唯一索引将会报错,如下面语句
create table t3 (sid int primary key,id int auto_increment);

CREATE TABLE users (
id int(5) NOT NULL auto_increment,
name varchar(20)NOT NULL,
PRIMARY KEY (`id`)
)
auto_increment 就是自增

DROP TABLE IF EXISTS `jk``jkrecord`;

CREATE TABLE `jk``jkrecord` (

`user1` varchar(45) NOT NULL,

`user2` varchar(45) NOT NULL,

`user3` varchar(45) NOT NULL,

`day` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`number` int(10) unsigned NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`number`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

number字段的定义,无符号int型,非空,自动增长,这样在插入数据的时候,number字段就会自动加一。

扩展资料:

注意事项

number可以存储浮点数,也可以存储整数。Number(n,m)

int类型只能存放整数。

1、number(4,3)是表示这个数一共有4位是有效位,后面的3表示有3个是小数也就是这个数,只能是1234,这样格式的最大只能是9999,

2、number(3,4) 表示这个数,有效位数是3位。但是有四位小数,也就是只能是这个格式00123最大只能是00999;

3、number(3,-3) 就是这个数有效位数一共3位,如果是正3,则是3位小数。如果是负数的话就是3位整数,也就是123这个格式,最大只能是999

4、还有这样的number(2,-3) 就是这个数的有效位数是2位 但是有三位整数 所以只能是230 这样的 最大是990;

类型:

TINYINT(size):128 到 127 常规。0 到 255 无符号。在括号中规定最大位数。  

SMALLINT(size):32768 到 32767 常规。0 到 65535 无符号。在括号中规定最大位数。  

MEDIUMINT(size) :8388608 到 8388607 普通。0 to 16777215 无符号。在括号中规定最大位数。  

INT(size) :2147483648 到 2147483647 常规。0 到 4294967295 无符号。在括号中规定最大位数。  

BIGINT(size):9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号。在括号中规定最大位数。  

FLOAT(size,d):带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。  

DOUBLE(size,d):带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。  

DECIMAL(size,d):作为字符串存储的 DOUBLE 类型,允许固定的小数点。  


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13405041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存