sql >> Database >  >> RDS >> Mysql

Hoe Auto Increment in Varchar-gegevens te gebruiken Typ in PHP een MYSQL?

MYSQL 5.7.5:

U kunt het doel bereiken met behulp van Gegenereerde kolommen en dit .

Niet getest

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

Voor uw gemak,

MSSQL:

De eenvoudigste methode is om eenvoudig een berekende kolom te maken. Het gebruikt een zogenaamde "berekende" kolom in combinatie met een IDENTITEIT-kolom.

    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;

Dat levert het volgende op (merk op dat de automatische verhoging werkte):

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



  1. Vindt er een automatische commit plaats na het uitvoeren van opgeslagen procedures in Oracle?

  2. MySQL met Sum en Case

  3. Mysql-samenvoeging telt meerdere kolommen

  4. Oracle INSTR achterwaarts in Oracle SQL