Mysql:语法:自增列
- 属性:自增列不必是:唯一的、primary、正数、bigint
- 属性:auto_increment 是mysql在表列定义中的一个可选属性,和默认值属性冲突。
- 属性:必须定义在该列上的索引!
- 属性:应用于number类型的列:包括各种整数、浮点数、定点数
- 属性:自增列可以和普通的数字类型属性(unsigned、zerofill的)、约束(null、not null、[primary] key、unique [key]、check、foreign key)等组合
- 属性:表只能有一个自增列。该列必须具有索引。不能在该列定义defaut值。
- 语句影响:insert 对自增列可以显示的指定其值进行插入,如果插入的值>种子值,则种子值会自动更新为=该插入的值;即使你一次性插大批数据也是只返回该批次第一行自增后的值!
- 语句影响:delete、update 不会影响种子值
- 语句影响:truncate 重置种子值到“1”
- 语句影响:select * from table_name where auto_increment_col_name is NULL 获得最后插入的第一行数据;即使你一次性插大批数据也是只返回该批次第一行自增后的值!是ODBC兼容语法
- 当 向自增列插入NULL时,自增列自增;当 no_auto_value_on_zero=1(enable)时,可以通过向自增列赋值0来产生自增,不推荐!
- 插入值后可以通过 last_insert_id () 返回第一行自增后的值,记住:即使是一批插入多条数据,返回的仍然是第一行的值
- 特殊的:对于myisam表,特殊的对于myisam引擎的表,你可以在一个多列索引上的第二列上定义自增列:他将在第一索引列上产生自增,可以理解为:在第一索引列上分组,计算该组上的最大值,+1。该形式下:(分组)自增列的种子值总是取该列上的分组 最大值——受delete、update、insert影响。最大的用途应该是分组排序吧
分类:
Mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)