[SQL] 어떻게 자동으로 UID12345678 같은 SQL에 고유 ID를 생성하는?
SQL어떻게 자동으로 UID12345678 같은 SQL에 고유 ID를 생성하는?
나는별로 정의 된 코드를 여기에 연결하여 자동으로 고유 ID를 생성합니다.
전의:
UID12345678
CUSID5000
I는 고유 식별자 데이터 형식을 시도했지만 사용자 ID에 적합하지 않은 ID를 생성한다.
어떤 하나의 제안이?
해결법
-
==============================
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.
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.참조 : 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.당신이 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.테이블 만들기
테이블 만들기
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
from https://stackoverflow.com/questions/20674282/how-to-automatically-generate-unique-id-in-sql-like-uid12345678 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL Server와 같은 포함 괄호 문자 (0) | 2020.05.10 |
---|---|
[SQL] SQL 독특한 VARCHAR 대소 문자 구분 질문 (0) | 2020.05.10 |
[SQL] 테이블의 각 그룹에 대한 상위 N 개의 행을 선택한 (0) | 2020.05.10 |
[SQL] 오라클에서 ROWNUM처럼 MySQL의에서 행 번호를 얻을 수있는 방법이 있나요 [중복] (0) | 2020.05.10 |
[SQL] 오라클 행의 여러 열에서 피벗을 사용하여 (0) | 2020.05.10 |