重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
因为MySQL本身支持auto_increment操作,很自然地,我们会想到借助这个特性来实现这个功能。Flicker在解决全局ID生成方 案里就采用了MySQL自增长ID的机制(auto_increment + replace into + MyISAM)。一个生成64位ID方案具体就是这样的:
公司主营业务:成都做网站、网站建设、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出穆棱免费做网站回馈大家。
先创建单独的数据库(eg:ticket),然后创建一个表:
CREATE TABLE Tickets64 (
id bigint(20) unsigned NOT NULL auto_increment,
stub char(1) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY stub (stub)
) ENGINE=MyISAM
如果是刚做过插入操作的,试试 last_insert_id(),它会返回刚插进去那条记录的 ID,没有并发的时候它一般是最大值。
你看一下采用 笛卡尔积 的形式可不可以实现你的需求,由于只是用来获取一个条数字段 行1,列1
select a.id, b.fcount
from name a
join (select count(*) fcount from name where name like %张%) b
where where name like %张%
limit 0, 20
笛卡尔积分析:
name {行n,列n }乘以{行1,列1}
两个相乘结果,行数不会变,列会加一个条数字段,这样方便获取,你可以试一下