博客
关于我
SQLITE3和MySql的自动增长
阅读量:660 次
发布时间:2019-03-15

本文共 1008 字,大约阅读时间需要 3 分钟。

Sqlite 3 和 MySql 在 创建 表结构 时,两者 都 使用了 类似的 数据类型 和primary key约束,但是 如果在设计 自 增 数 序 的 方面 有 所 区别。 下面 分别 讨 论 两者 代码 的 主要 差异。

在 Sqlite 3 中, 人员 表 的 创建 语法 是 CREATE TABLE person (personid INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20))。 其 中 personid 是一个自增来的主键字段,кими在 插入 数据 时 自动 增加。 这个特性 在 Sqlite 中 是 必须 的,因为 如果 Explicitly 主键 是 Incrementing 的话,就不用设置 AUTOINCREMENT。 Sqlite 的 AUTOINCREMENT 特性 特别 适用于 需要 自动生成 唯一 随机 售 工 便宜 和 安全 的场景。

与 Sqlite 不同的是,MySql 的 AUTO INCREMENT 是 不 可选 的 特性。 创建 表 时,主键字段 必须 由 INCREMENT BY n 或 NO INCREMENT BY n 指定。 比如:CREATE TABLE person (personid INTEGER PRIMARY KEY AUTO _ INCREMENT, name VARCHAR(20))。 这个特性 意义 在于允许主键字段 如 personid 随着 插入 数据 而 升级,这在 往往 是 完全的 可选项目。例如,工作 记录 itujuan 主键往往使用 INCREMENT BY 1。 但是, MySQL 的这种写法 不会自动生成,因此 dataType 的,默认值必须指定。

对于那些 需要 串行 化或 并发 插入 的应用场景,Sqlite 的默认方式更有优势。 这是因为 SQLite 的多线程 �优化侧重于并发读写,而 Sqlite 的自增主键不会导致并发插入的 队列 � literals。 如果具体需求是 记录需要 按时间顺序排列,且希望主键自动生成。

总之,在软件开发中,选择 Sqlite 还是使用 MySQL 取决于具体的应用场景,但是一般来说, 如果是在移动应用 或桌面 应用的 单用户 数据 库 的情况下,Sqlite 的主键 自增 可能更 为便利。

转载地址:http://wxfqz.baihongyu.com/

你可能感兴趣的文章
950个织梦网dede模板源码
查看>>
: bad interpreter: 没有那个文件或目录
查看>>
@Cacheable@CacheEvict@CachePut
查看>>
2018信息平台专场招聘
查看>>
@ControllerAdvice+@ExceptionHandler全局处理Controller层异常 及其 原理
查看>>
@ControllerAdvice、@ExceptionHandler控制全局Controller异常
查看>>
@ControllerAdvice用法
查看>>
#VERDI# 关于Verdi使用的几个常用技巧整理
查看>>
@Resource注解的使用
查看>>
@ResponseBody 和 @RequestBody
查看>>
A + B 九度oj
查看>>
A DBA’s take on MSCA (Mobile supply chain applications)
查看>>
A DBA’s take on MSCA (Mobile supply chain applications)
查看>>
A20地址线
查看>>
abaqus质量缩放系数取值_ABAQUS的质量缩放
查看>>
Access restriction: The type FileURLConnection is not accessible due to restriction
查看>>
Accessibility
查看>>
08-信息收集之端口收集(总结版)
查看>>
15种下载文件的方法&文件下载方法汇总&超大文件下载
查看>>
anaconda、python卸载后重装以及anaconda--443
查看>>