primary key(auto-increment)
で始まるを作成したいA001000001
。ここでA001
は一定であり、000001
反復されます。
このような行が必要です:
SQLクエリを使用してそれを行うにはどうすればよいですか?
primary key(auto-increment)
で始まるを作成したいA001000001
。ここでA001
は一定であり、000001
反復されます。
このような行が必要です:
SQLクエリを使用してそれを行うにはどうすればよいですか?
SQL Serverの場合(使用しているRDBMSを明確に指定していません)、私の提案は次のようになります。
INT IDENTITY
ます-率直に言って、その列を主キーにします何かのようなもの:
CREATE TABLE dbo.YourTable
( ID INT IDENTITY(1,1) PRIMARY KEY CLUSTERED,
EmpID AS 'A001' + RIGHT('0000000' + CAST(ID AS VARCHAR(10)), 7) PERSISTED
)
このように、行を挿入すると、ID
getsが自動的に設定され、、、、....などのEmpID
値にも自動的に設定されます。A0010000001
A0010000002
列に主キーを配置する場合は、作成時に仕様EmpID
を含める必要があります。NOT NULL
CREATE TABLE dbo.YourTable
( ID INT IDENTITY(1,1),
EmpID AS 'A001' + RIGHT('0000000' + CAST(ID AS VARCHAR(10)), 7) PERSISTED NOT NULL
)
次に、その列に主キー制約を設定できます。
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (EmpID)
BEFORE INSERTトリガーを作成し、MAXid
値を確認してインクリメントし、プレフィックスを追加してから挿入することができます。
思ったよりずっと簡単です;)
CREATE TABLE bob(id MEDIUMINT NOT NULL AUTO_INCREMENT、foo CHAR(30)NOT NULL、PRIMARY KEY(id))ENGINE = MyISAM;