想起自己当初去一家公司面试的时候,人家出了一道题:“建表的时候除了使用int自增作为主键,你还用什么作为主键?”。过去很长时间了,突然想起来,当初没能答好,现在就把这个问题也分享一下。
首先看一个UUID作为主键的数据表:
一般我们建表的时候都是使用NOT NULL AUTO_INCREATEMENT,PRIMARY KEY 。初学的时候,就知道这一种写法,后来在工作中财知道可以使用MD5加密生成的UUID作为主键。所以当初面试的时候,就只能回答使用int自增的主键。
生成UUID的语句:
$id = strtoupper(md5(uniqid(mt_rand(), true))); |
用uniqid函数生成一个不重复的字符串,然后使用md5加密是id的长度都是32位,然后将其转化成大写即可。
宠物免费领养小程序,欢迎来踩