如何在 PHP 和 MYSQL 中使用 varchar 数据类型中的自动增量


How to Use Auto Increment in Varchar data Type in PHP an MYSQL?

谁能告诉我们如何在 varchar 数据类型中使用自动增量?

我正在寻找其他问题,人们总是要求使用Interger或使用触发器。 但是,这是我大学的项目,它有一个规则让我们使用Varchar。


根据数据库中存在的最后一个产品 ID 自动生成前任。如果最新的产品 ID 为"PR004",则新 ID 将为"PR005">

所以,我们必须在PHP中设置自动增量?有人可以告诉我如何使用它吗?

谢谢

MYSQL 5.7.5:

您可以使用生成的列和这个来实现目标。

未测试

CREATE TABLE TEST ( 
     ProdID VARCHAR(20) AS CONCAT('PR','',PID) STORED,
    PID INT auto_increment)

为了您的方便,

MSSQL:

最简单的方法是简单地创建一个计算列。它将所谓的"计算"列与 IDENTITY 列结合使用。

    CREATE TABLE Test
             (
              ProdID AS CAST('PR'+RIGHT('000'+CAST(RowNum AS VARCHAR(3)),3) AS VARCHAR(30)) PERSISTED
             ,ProdName VARCHAR(30)
,RowNum INT IDENTITY(1,1) 
             );

  INSERT INTO Test (ProdName)
  SELECT 'Thread' UNION ALL
  SELECT 'Button Thread' UNION ALL
  SELECT 'Coat Thread';
  SELECT ProdID, ProdName FROM Test;

这将返回以下内容(请注意,自动增量有效(:

 ProdID                         ProdName
 ------------------------------ ------------------------------
 PR001                          Thread
 PR002                          Button Thread
 PR003                          Coat Thread