2

データベーステーブルの主キー/インデックスを変更して、インデックスオプションignore_dup_keyを「オン」に変更したいと思います。

この質問によると、「主キーに対してigno​​re_dup_keyをオンに設定できますか?」インデックスを削除して、新しいインデックスを作成する必要があります。

インデックスを削除する前に、インデックスを再作成するコマンドを取得するにはどうすればよいですか?次に、ignore_dup_keyオプションを変更します。

4

4 に答える 4

2

SSMSの主キーを右クリックし、[スクリプト]->[作成中]->[新しいウィンドウへ]を選択します。

于 2012-05-15T17:05:57.093 に答える
1

別の関連する質問のコメント投稿者が示すように、テーブルに対してIGNORE_DUP_KEYを有効にできます。

ALTER TABLE [TableName] REBUILD WITH (IGNORE_DUP_KEY = ON);

そして元に戻す:

ALTER TABLE [TableName] REBUILD WITH (IGNORE_DUP_KEY = OFF);
于 2012-12-10T14:28:19.407 に答える
0

SQLでIGNORE_DUP_KEY=がオンのPKが許可されるとは思わなかったため、SQL2008R2でテストしました。
スクリプトを介して、PKIGNORE_DUP_KEY=がオンのテーブルを作成できます。しかし、ドロップアンドクリエイトを使用しても、PKをオフからオンに変更することはできませんでした。興味深いのは、スクリプトがエラーなしで実行されたが、PKがオフからオンに変更されなかったことです。ご使用の環境で異なる結果が見つかる場合があります。

于 2012-05-15T14:37:00.830 に答える
0

インデックスを削除するには実行できます

DROP INDEX [IndexName] ON [TableName]

Ignore_Dup_Keyオプションを使用してインデックスを作成するには

CREATE UNIQUE INDEX [IndexName] ON [TableName]([ColumnNam])
WITH (IGNORE_DUP_KEY = ON)
于 2012-05-15T14:54:20.007 に答える