sql >> データベース >  >> RDS >> Mysql

PHPのVarcharデータ型で自動インクリメントを使用する方法MYSQL?

    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
    



    1. LinuxにSQLServerAlwaysOn可用性グループを展開する

    2. ファブリックから動的にmysqlデータベースを作成する方法

    3. 配列に空の値が発生した場合に配列にゼロを追加する

    4. データベースのテーブル列にインデックスを作成するタイミングを決定しますか?