簡體   English   中英

我的自動增量不是以1開始

[英]My auto increment does not start with 1

 CREATE TABLE DUser (
 [ID]           INT          NOT NULL,  [DUser_Id]  VARCHAR(45) NULL,
 [Name]         VARCHAR (70) NOT NULL,
 [DOB]          DATE         NOT NULL,
 [Password]     VARCHAR (30) NOT NULL,
 [Email]        VARCHAR (70) NOT NULL,
 [Phone_Number] INT          NOT NULL,
 [Gender]       VARCHAR (6)  NOT NULL,  PRIMARY KEY CLUSTERED ([ID] ASC) );


Create TRIGGER DUser_IDColumn    
ON  DUser    
AFTER  INSERT 
AS 
BEGIN
SET NOCOUNT ON;

UPDATE duserid SET    
DUser_ID = 'U' + LEFT('0000' + CAST(inserted.ID AS VARCHAR(10)), 5) FROM       DUser duserid

INNER JOIN inserted

ON duserid.ID = inserted.ID

END GO

當我希望它從U00003開始時,ID從U00000開始,因為有預定義的值。 請幫忙!

創建用戶帳戶時

看起來您需要使用ALTER語句重新設置AUTO-INCREMENT如下所示

ALTER TABLE DUser AUTO_INCREMENT = 1

從您發布的代碼中,我根本看不到它是一個autoincrement列。 這樣就無法期望它從1開始。它看起來像“定制標識”列。

CREATE TABLE DUser (
 [ID]           INT          NOT NULL

不能,在您創建表“ DUser”的腳本中,

`AUTO_INCREMENT=3`

所以它會像

CREATE TABLE DUser (
[ID]           INT          NOT NULL,  
[DUser_Id]  VARCHAR(45) NULL,
[Name]         VARCHAR (70) NOT NULL,
[DOB]          DATE         NOT NULL,
[Password]     VARCHAR (30) NOT NULL,
[Email]        VARCHAR (70) NOT NULL,
[Phone_Number] INT          NOT NULL,
[Gender]       VARCHAR (6)  NOT NULL,  PRIMARY KEY CLUSTERED ([ID] ASC) )
ENGINE=InnoDB AUTO_INCREMENT=3;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM