2010-06-09 86 views
1

我有一个包含数千个URL的表。每个URL都会有一个相应的文件夹,因此我正在考虑使用mySQL为每个现有的URL和添加到表中的新URL创建一个简短且可用的文件夹名称。mySQL - 如何自动生成字段值

我想要的是指定类似于字符a-z的5个字符长的字段,并且mySQL为该字段自动生成值。

mySQL引擎是否可以在本地执行此操作,还是必须在代码中执行此操作?

回答

1

只需使用一个自动生成的长/ BIGINT ID,并将其转换毕竟从/到基座36或64

+0

1:整数需要较少的空间,5 AZ字符不会是人类可读的大多数迭代,而AUTO_INCREMENT提供了一个独特的价值,而不得不推出自己的&维护它 – 2010-06-09 16:01:00

0

根据您是否希望能够轻松确定文件夹名称所关联的URL,您可能会发现使用UUID将为您提供合适的方式。

INSERT INTO t (`url`, `uuid`) VALUES('http://www.example.com/', UUID()); 

在同一直线上的其他机制包括使用MD5()和SHA1()

http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid http://dev.mysql.com/doc/refman/5.0/en/other-functions.html

注意,这些都将是比你提到的5个字符长,但它的可能你需要更多的空间才能获得足够的空间。