如何在Varchar数据中使用自动增量在PHP中输入一个MYSQL?

时间:2016-01-02 04:25:36

标签: php mysql

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

我寻找其他问题,人们总是要求使用interger或使用触发器。但是这是我学院的项目,它规定我们使用varchar。

根据数据库中现有的最后一个产品ID自动生成 防爆。如果最新的产品ID为“PR004”,则新ID将为“PR005”

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

谢谢

1 个答案:

答案 0 :(得分:0)

MYSQL 5.7.5:

您可以使用Generated Columnsthis完成目标。

未经过测试

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