博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql复合主键中自增长字段
阅读量:5997 次
发布时间:2019-06-20

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

  hot3.png

Google Analytics的ID一般形如:UA-18xxxxx-1,UA-18xxxxx-4, 我们可以将它分成两段来看:字段1:UA-18XXXXX是指帐户的ID;字段2:字段1后附加的1、4,刚分别是指该帐户名下的两个网站。有一段时间很 纠结这样的ID怎么去维护,直到最近查阅到Mysql手册才发现,原来Mysql原生就很好的支持了这种含自动增长字段的复合主键,所以字段2是存储引擎 自动计算出来的。计算方式:MAX(auto_increment_column) + 1 WHERE prefix=given-prefix

不多说,直接看SQL:

mysql> CREATE TABLE `_test` (    -> `c1` varchar(20) NOT NULL DEFAULT '', -- 主键一:varchar    -> `c2` int(11) NOT NULL AUTO_INCREMENT, -- 主键二:自增序列    -> `c3` varchar(255) ,    -> PRIMARY KEY (`c1`,`c2`) -- 注意这里的先后顺序    -> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;Query OK, 0 rows affected (0.04 sec)mysql>mysql> INSERT INTO `_test` (`c1`,`c3`) VALUES ('AAA','Robin Home'),    -> ('AAA','Robin Blog'),    -> ('AAA','Robin Resume'),    -> ('BBB','Lily Home'),    -> ('BBB','Lily Blog');Query OK, 5 rows affected (0.00 sec)Records: 5  Duplicates: 0  Warnings: 0mysql>mysql> SELECT * FROM `_test`;+-----+----+--------------+| c1  | c2 | c3           |+-----+----+--------------+| AAA |  1 | Robin Home   || AAA |  2 | Robin Blog   || AAA |  3 | Robin Resume || BBB |  1 | Lily Home    || BBB |  2 | Lily Blog    |+-----+----+--------------+5 rows in set (0.00 sec)mysql>

值得注意的是,MySQL的这种特性只适用于MyISAM和BDB引擎。

转载于:https://my.oschina.net/wayhk/blog/501753

你可能感兴趣的文章
AppDynamics赵宇辰:硅谷APM独角兽,打造DevOps领域的智能大脑
查看>>
InfoQ 趋势报告:技术文化\u0026方法2019年实践状况
查看>>
Microsoft宣布通过Azure Event Grid服务提供对CloudEvents的支持
查看>>
51信用卡微服务集成测试自动化探索
查看>>
AWS推出RoboMaker,可构建智能机器人应用程序
查看>>
GitHub推出Scientist,帮助开发者重构关键路径代码
查看>>
亚马逊向GuardDuty服务添加三种新的威胁检测规则
查看>>
互联网+时代 CIO如何实现企业IT价值转型
查看>>
学习笔记:node.js(一)
查看>>
函数式编程之柯里化和组合详解
查看>>
Centos 桥接网络连接不上方案
查看>>
Cannot find module 'laravel-elixir'问题解决方法
查看>>
JDK8新特性Lambda表达式体验
查看>>
Objective-C runtime 拾遗 (三)——Block冷知识
查看>>
对象是如何初始化的(iOS)
查看>>
Fedora,从安装到放弃
查看>>
学好编程,你还需要这个开源APP | Growth 2.0现已发布
查看>>
MongoDB string字段索引策略
查看>>
mui初级入门教程(四)— 再谈webview,从小白变“大神”!
查看>>
AndroidStudio1.5上进行单元测试(简单)
查看>>