です。SQL Server Management Studioを使用しています。 SQLからのステートメントで「3585c5d240dd4132bab35ab969137f3f」のような主キーを作成したいが、主キーを作成するステートメントがわからない。 誰かがこのような主キーを作成するために、そのステートメントが何であるか教えてもらえますか?"3585c5d240dd4132bab35ab969137f3f"のようにSQLでプライマリキーを作成する文は
1
A
答えて
0
この値が短いためUniversally Unique IDentifier、またはUUIDのようです。
MS SQL Serverでは、newid()
関数を使用してそのような識別子を生成できます。たとえば:
SELECT NEWID()
0
は、このコードを試してみてください。
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName);
0
1つの方法は、GUIDを使用することです。 SQL Serverでは、関数NEWID
(ドキュメントhereを参照してください)。
SELECT REPLACE(NEWID(), "-", "");
をしかし、主キーとしてGUIDの用心:The Cost of GUIDs as Primary Keysあなたはダッシュを好きではない場合は、同様REPLACE使用。少し古いですが、まだ興味深いです。
はそれを主キーを作成するには、次のことができます。
- は 機能がデフォルト値として許可されていませんので、
- は、前トリガーを使用し、あなたの作成文でvarchar型の主キーを()宣言します上記の関数を使用して主キーを生成するを挿入します。
2
まず、そのGUIDを格納する列を追加する必要があります。
alter table your_table
add field_name uniqueidentifier not null
次に、あなたは、そのフィールドに主キー制約を作成する必要があります。
alter table your_table
add constraint PK_[your_table] PRIMARY KEY(field_name)
最後に、あなたのテーブルにデータを挿入するとき、FIELD_NAMEは(NEWIDを使用して生成される)ので、のように:
insert into your_table(field_name)
values(newid())
0
私はあなたが生成するNEWID()機能を使用する必要があると述べているみんなと一緒に同意しますあなたが欲しいもの。私の推薦は、その列があなたのクラスタ化されたインデックスでもある場合は、おそらくNEWSEQUENTIALID()を使用して、恐ろしいフラグメンテーションとページ分割を避けることです。
関連する問題
- 1. プライマリキーを定義しないでSQLデータベースを作成する
- 2. ClickHouseでプライマリキーを作成する方法
- 3. ジェットSQLルールに従うようにSQLサーバを作成する
- 4. SQL Server - プライマリキーなしでスクリプトを生成
- 5. SqlServerは、auto_incrementプライマリキーのようなMySqlを持つテーブルを作成します。
- 6. SELECT INTOステートメントのAccessでプライマリキーを作成するにはどうすればよいですか?
- 7. プライマリキーとSQLで自動インクリメントを使用してデータベースを作成する方法
- 8. 自動インクリメントなしでプライマリキーを作成するにはどうすればよいですか?
- 9. SQL Server:テーブル変数の作成、プライマリキー制約定義のエラー
- 10. SQLでテーブル構文を作成する方法を調べるにはどうすればよいですか?
- 11. どのようにSQL文からテーブルを達成する
- 12. DB2(SQL最適化)でプライマリキーを生成する方法
- 13. SQLiteでプライマリキーを設定または作成するR
- 14. プライマリキーをシリアルに作成する方法は?
- 15. 私は、SQL文でPostgresのSQLでビューを作成して、コメント
- 16. SQL上でif else文を作成するにはどうすればよいですか?
- 17. sqlの文字列列のインデックスを作成するには?
- 18. どのようにカウントしてSQLビューを作成する()
- 19. SQLでDECODE関数のようなC++マクロを作成するには?
- 20. SQLite Androidで複数のプライマリキーを持つテーブルを作成する
- 21. SQL Serverでプライマリキーのメンバー列を取得するにはどうすればよいですか?
- 22. C#既存のテーブルの列にプライマリキーを作成する方法
- 23. "SELECT"文のSQL Server DDLトリガを作成するには?
- 24. 作成したモデルインスタンスのPostgresのプライマリキーのデフォルト値は025です
- 25. SQLプロファイルを作成するには、どのようにこのSQLチューニングツール(SQLBooster)を使用できますか?
- 26. 1、2、3ではなく、0001、0002、0003のようなプライマリキーの自動インクリメントを作成するにはどうすればよいですか?
- 27. このような状況でSQLクエリを作成するにはどうすればよいですか?
- 28. SQL:プライマリキーでテーブルを結合し、プライマリキーを返す
- 29. Entity Frameworkはプライマリキー値のGUIDをどのように生成しますか?
- 30. SQLサーバーコンパクトではないSQLサーバーデータベースを作成するにはどうすればよいですか?
Googleを試しましたか? – NickyvV