복붙노트

[SQL] 어떻게 자동으로 UID12345678 같은 SQL에 고유 ID를 생성하는?

SQL

어떻게 자동으로 UID12345678 같은 SQL에 고유 ID를 생성하는?

나는별로 정의 된 코드를 여기에 연결하여 자동으로 고유 ID를 생성합니다.

전의:

UID12345678
CUSID5000

I는 고유 식별자 데이터 형식을 시도했지만 사용자 ID에 적합하지 않은 ID를 생성한다.

어떤 하나의 제안이?

해결법

  1. ==============================

    1.내 의견으로는 유일하게 가능한 솔루션을 사용하는 것입니다

    내 의견으로는 유일하게 가능한 솔루션을 사용하는 것입니다

    그래서이 시도 :

    CREATE TABLE dbo.tblUsers
      (ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
       UserID AS 'UID' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
       .... your other columns here....
      )
    

    이제 때마다 당신은 ID 또는 사용자 ID에 대한 값을 지정하지 않고에 tblUsers에 행을 삽입 :

    INSERT INTO dbo.tblUsersCol1, Col2, ..., ColN)
    VALUES (Val1, Val2, ....., ValN)
    

    다음 SQL Server가 자동으로 안전하게 ID 값을 증가되며, 사용자 ID가 UID00000001, UID00000002 같은 값을 포함합니다 ...... 등등 - 자동, 안전, 신뢰성, 아니 중복.

    업데이트 : 사용자 ID는 계산 열 - 개체에 신속하게 들여다 탐색기가 계시로 여전히 물론 그것은, 데이터 유형이 :

  2. ==============================

    2.

    CREATE TABLE dbo.tblUsers
    (
        ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
        UserID AS 'UID' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED, 
        [Name] VARCHAR(50) NOT NULL,
    )
    

    marc_s의 대답 스냅

  3. ==============================

    3.참조 : HTTPS : //docs.microsoft.com/en-us/sql/t-sql/functions/newid-transact-sql보기 = SQL 서버 2017

    참조 : HTTPS : //docs.microsoft.com/en-us/sql/t-sql/functions/newid-transact-sql보기 = SQL 서버 2017

    - 고유 식별자 데이터 형식에 대한 NEWID을 사용하여 테이블 만들기.

    CREATE TABLE cust  
    (  
     CustomerID uniqueidentifier NOT NULL  
       DEFAULT newid(),  
     Company varchar(30) NOT NULL,  
     ContactName varchar(60) NOT NULL,   
     Address varchar(30) NOT NULL,   
     City varchar(30) NOT NULL,  
     StateProvince varchar(10) NULL,  
     PostalCode varchar(10) NOT NULL,   
     CountryRegion varchar(20) NOT NULL,   
     Telephone varchar(15) NOT NULL,  
     Fax varchar(15) NULL  
    );  
    GO  
    -- Inserting 5 rows into cust table.  
    INSERT cust  
    (CustomerID, Company, ContactName, Address, City, StateProvince,   
     PostalCode, CountryRegion, Telephone, Fax)  
    VALUES  
     (NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,  
     '90110', 'Finland', '981-443655', '981-443655')  
    ,(NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',  
     '08737-363', 'Brasil', '(14) 555-8122', '')  
    ,(NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,   
     '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')  
    ,(NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,  
     '8010', 'Austria', '7675-3425', '7675-3426')  
    ,(NEWID(), 'Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,  
     'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68');  
    GO
    
  4. ==============================

    4.당신이 ID를 추가하려면 수동으로는 사용할 수 있습니다

    당신이 ID를 추가하려면 수동으로는 사용할 수 있습니다

    PadLeft () 또는 인 String.format () 메소드.

    string id;
    char x='0';
    id=id.PadLeft(6, x);
    //Six character string id with left 0s e.g 000012
    
    int id;
    id=String.Format("{0:000000}",id);
    //Integer length of 6 with the id. e.g 000012
    

    그럼 당신은 UID와이를 추가 할 수 있습니다.

  5. ==============================

    5.테이블 만들기

    테이블 만들기

    create table emp(eno int identity(100001,1),ename varchar(50))
    

    삽입 값

    insert into emp(ename)values('narendra'),('ajay'),('anil'),('raju')
    

    테이블 선택

    select * from emp
    

    산출

    eno     ename
    100001  narendra
    100002  rama
    100003  ajay
    100004  anil
    100005  raju
    
  6. from https://stackoverflow.com/questions/20674282/how-to-automatically-generate-unique-id-in-sql-like-uid12345678 by cc-by-sa and MIT license