0

我必须创建一个数据库,其中包含一些产品和一些 SKU 的一些信息,其中一部分是产品类型和子类型,总共有 60-70 个产品类型和每个产品类型 2-20 个子类型.

需要生成的 SKU 代码部分是 XXY 形式,其中 XX 是产品类型,Y 是它的子类型,对于类型部分,很容易添加一个唯一的 auto_increment 字段(因为它永远不会超过 99)但对于子类型部分,我需要按 1-9-AZ 之类的顺序同时使用数字和字母。

实现这一目标的最简单方法是什么?我有一些想法如何使用 javascript / json 来检查和检索 Y 字段,但我觉得必须有一种更简单的方法,只需使用 php/mysql 即可。

基本上我需要的是 php/mysql 为每个独特的产品类型生成一个从 1 到 Z 的单字符“id 子类型”。

4

1 回答 1

0

恐怕您必须使用 Javascript 或 PHP(或您使用服务器端的任何东西)来生成此字符。没有内置的 SQL 函数可以做到这一点。对于您的单字符 id 子类型,您不应该使用VARCHARBUT CHAR(1)

CHAR具有固定长度,因此每个字符只占用 1 个字节。VARCHARCHAR+ 2 个字节相同来保存长度信息。

例子:

$characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; 
$char = strtoupper($characters[rand(0, strlen($characters) - 1)]);
于 2013-03-22T06:44:00.547 回答