如何生成像'xxx0000','xxx0001'这样的身份证号码?

时间:2017-03-29 16:26:24

标签: php mysql codeigniter

这是我的表:

|   ID    |
| xxx0000 |
| xxx0001 |
| xxx0002 |

我想制作我的id模式,但我不知道如何生成它?

1 个答案:

答案 0 :(得分:3)

您有两个不同的数据,因此请创建两个不同的列。

ID              INT            NOT NULL   AUTO_INCREMENT,
SomethingElse   SomeOtherType  NOT NULL

SomethingElse的名称以及它取决于您的数据类型。 xxx并没有告诉我们什么。

如果这两个组合构成了主键,则可以使用多列的复合键:

PRIMARY KEY (SomethingElse, ID)

对于任何主键的相同完整性检查将继续适用,数据库将只检查两列的组合唯一性。

此时您拥有所需的数据,现在只需显示即可。无论您是在SQL还是在PHP中执行此操作都取决于您。无论您是希望应用程序将它们视为单个值还是看到底层的不同值,也取决于您。

从SQL中选择它们作为单个值可能很简单。类似的东西:

SELECT CONCAT(SomethingElse, ID) AS ID FROM ...

如果你总是想要那些填充零,那么this question会有所帮助。您可能想要执行的其他字符串操作也将逐个处理(如果您需要帮助,每个字符串操作都可能导致其自身的Stack Overflow问题。)

但这里的基本想法是你所拥有的是复合值。在关系数据库中,您通常会存储底层值,并在查询数据时执行合成。

相关问题