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