在MySQL中,SERIAL和AUTO_INCRMENT有什么区别?
技术百科
WBOY
发布时间:2023-08-24
浏览: 次 在 MySQL 中,SERIAL 和 AUTO_INCRMENT 都用于将序列定义为字段的默认值。但它们在技术上是不同的。
除 BIT 和 DECIMAL 之外的所有数字数据类型都支持 AUTO_INCRMENT 属性。每个表只能有一个 AUTO_INCRMENT 字段,并且一个表中 AUTO_INCRMENT 字段生成的序列不能在任何其他表中使用。
此属性要求字段上存在 UNIQUE 索引,以确保序列没有重复项。默认情况下,序列从 1 开始,每次插入都会加 1。
示例
mysql> Create Table Student(Student_id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name Varchar(20)); Query OK, 0 rows affected (0.18 sec)
上面的查询声明 Student_id AUTO_INCRMENT。
mysql> Insert Into Student(Name) values('RAM'),('SHYAM');
Query OK, 2 rows affected (0.06 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> Select * from S
tudent;
+------------+-------+
| Student_id | Name |
+------------+-------+
| 1 | RAM |
| 2 | SHYAM |
+------------+-------+
2 rows in set (0.00 sec)
mysql> Show Create Table Student\G
*************************** 1. row ***************************
Table: Student
Create Table: CREATE TABLE `student` (
`Student_id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`Student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)另一方面,SERIAL DEFAULT VALUE 是 NOT NULL AUTO_INCRMENT UNIQUE KEY 的简写。 TINYINT、SMALLINT、MEDIUMINT、INT 和 BIGINT 等整数数值类型支持 SERIAL DEFAULT VALUE 关键字。
示例
mysql> Create Table Student_serial(Student_id SERIAL, Name VArchar(20));
Query OK, 0 rows affected (0.17 sec)
mysql> Insert into Student_serial(Name) values('RAM'),('SHYAM');
Query OK, 2 rows affected (0.12 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> Select * from Student_serial;
+------------+-------+
| Student_id | Name |
+------------+-------+
| 1 | RAM |
| 2 | SHYAM |
+------------+-------+
2 rows in set (0.00 sec)
mysql> Show Create Table Student_serial\G
*************************** 1. row ***************************
Table: Student_serial
Create Table: CREATE TABLE `student_serial` (
`Student_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Name` varchar(20) DEFAULT NULL,
UNIQUE KEY `Student_id` (`Student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
# 有一个
# 情况下
# 默认值
# 以确保
# 在技术上
# KEY
# Varchar
# rows
# Query
# PRIMARY
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win10如何更改任务栏高度_Windows10解
- c++怎么使用std::unique实现去重_c+
- Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系
- Win11截图快捷键是什么_Win11自带截图工具
- 如何在包含多值的列中精准搜索指定演员?
- 微信里的php文件怎么变mp4_微信接收php转m
- PHP的FastAdmin架构适合二次开发吗_特点
- 用Python构建微服务架构实践_FastAPI与
- 如何使用Golang实现云原生应用弹性伸缩_自动应
- Windows服务无法启动错误1067是什么_进程
- 如何使用Golang recover捕获panic
- 如何在Golang中使用container/hea
- Win11怎么格式化U盘_Win11系统U盘格式化
- Win11怎么更改默认打开方式_Win11关联文件
- Win10怎么卸载金山毒霸_Win10彻底卸载金山
- php串口通信波特率怎么选_根据硬件手册设置正确波
- Win11怎么关闭粘滞键_彻底禁用Windows
- 如何在JavaScript中动态拼接PHP的bas
- Python对象生命周期管理_创建销毁解析【教程】
- Mac如何彻底清理浏览器缓存?(Safari与Ch
- VSC怎么在PHP中调试MySQL_数据库交互排查
- Win11怎么更改电脑密码_Windows 11修
- Win11怎么设置桌面图标间距_Windows11
- Windows10系统更新错误0x80070002
- php485读数据时阻塞怎么办_php485非阻塞
- Win11怎么关闭触摸屏_禁用Win11笔记本触摸
- MAC如何修改默认应用程序_MAC文件后缀关联设置
- php下载安装选zip还是msi格式_两种安装包对
- php8.4匿名类怎么用_php8.4匿名类创建与
- Win11怎么关闭应用权限_Windows11相机
- Windows音频驱动无声音原因解析_声卡驱动错误
- Win11色盲模式怎么开_Win11屏幕颜色滤镜设
- C++中的Pimpl idiom是什么,有什么好处
- 如何在Golang中使用闭包_封装变量与函数作用域
- 如何在Windows中创建新的用户账户?(标准与管
- MAC怎么设置程序窗口永远最前_MAC窗口置顶插件
- Win11系统占用空间大怎么办 Win11深度瘦身
- Mac如何设置动态壁纸?(让桌面动起来)
- Linux如何申请SSL免费证书_Linux下Ce
- Windows10系统怎么查看CPU温度_Win1
- 如何在Windows上设置闹钟和计时器_系统自带的
- C#怎么创建控制台应用 C# Console Ap
- 如何提升Golang JSON序列化性能_Gola
- C++中的std::shared_from_thi
- Windows10系统怎么查看硬盘健康_Win10
- Windows电脑键盘突然失灵怎么办?(驱动与硬件
- Win11怎么设置开机密码_Windows11账户
- Dapper的Execute方法的返回值是什么意思
- MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第
- 如何使用Golang安装API文档生成工具_快速生

tudent;
+------------+-------+
| Student_id | Name |
+------------+-------+
| 1 | RAM |
| 2 | SHYAM |
+------------+-------+
2 rows in set (0.00 sec)
mysql> Show Create Table Student\G
*************************** 1. row ***************************
Table: Student
Create Table: CREATE TABLE `student` (
`Student_id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`Student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
QQ客服