2017-04-10 3 views
-1

私はこの問題を見つけるので、私はこのウェブサイトで特にインターネットで同じ問題を見つけることができません。char CのIDインクリメント#

私が実際に知っている整数データ型はcharデータ型とはまったく異なります。 IDに整数を使用すると、このIDはテーブルの下の設定 - >Link for descriptionから自動的に増分できます。一方、私はcharデータ型を使用すると、それを行うことはできません。 - >link for description

2桁と3桁(たとえばLA002)のデータが含まれている必要がありますが、IDは自動的に生成され、番号の例ではLA001 、LA002、LA ...、LAnnn。

コードの回答や、自動的に設定する方法は、この問題の解決に役立ちます。あなたの助けを前にありがとう。

+2

私はあなたが 'を使用することができると思います'自動増分ID'と文字列(あなたの場合:LA)の組み合わせである複合キーです。 –

+1

DBに関する2つの画像を投稿しましたが、sqlタグは含まれていません。この自動インクリメントがSQL側かC#側で行われるべきかどうかを指定することさえありません。 – xanatos

+0

@ kienct89 "コンポジットキー"問題のコードは自動構文でなければならないのですか? –

答えて

0

あなたは自動インクリメントID列と組み合わせたカスタムの主キーを使用することができます

CREATE TABLE AutoIncrementCustomIDTable 
(
    MyKey AS ('LA' + LEFT('000', 3 - LEN(AutoIncId)) + CONVERT(varchar(3), AutoIncId)) PERSISTED NOT NULL PRIMARY KEY,  
    AutoIncId INT IDENTITY NOT NULL, 
    Col1 VARCHAR(10) 
); 


INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('111') 
INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('222') 
INSERT INTO AutoIncrementCustomIDTable (Col1) VALUES ('333') 

SELECT * FROM AutoIncrementCustomIDTable 
0

をあなたは2つの列を使用することができます つの列は、両方の、autoincremental idのデフォルトの「LA」プレフィックス、2番目の列が含まれています主キー用にグループ化されています。

CREATE TABLE( のid INT NOT NULL AUTO_INCREMENT、 プレフィックスCHAR(30)NOT NULL DEFAULT 'LA'、 PRIMARY KEY(ID、接頭辞))

関連する問題