首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP / MySQL使用varchar作为一种id

问PHP / MySQL使用varchar作为一种id
EN

Stack Overflow用户
提问于 2013-03-22 14:29:40
回答 1查看 659关注 0票数 0

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

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

实现这一目标的最简单方法是什么?我知道如何使用javascript / json来检查和检索Y字段,但我有一种感觉,只使用php/mysql就可以找到一种更简单的方法。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 14:44:01

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

CHAR的长度是固定的,因此每个字符只占用1个字节。VARCHAR采用与CHAR相同的字节+2字节来保存长度信息。

示例:

代码语言:javascript
复制
$characters = 'abcdefghijklmnopqrstuvwxyz0123456789'; 
$char = strtoupper($characters[rand(0, strlen($characters) - 1)]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15564124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档