0

だから基本的にここに私のテーブルレイアウトがあります:

Type_Of     Agreement
iPad        Heyo! I'm an agreement!
iPod Touch  I'm another agreement!

基本的に、管理者が新しいタイプを追加できる管理インターフェースを構築しています。既存の新しい型には入らないようにしてほしい。基本的に、上記の例では、新しいタイプのボックスに「iPad」と入力して送信を押した場合、単純に無視されるか、エラーがスローされるか、何かが発生します。

私の既存のMySQLステートメントは次のとおりです。

INSERT IGNORE INTO agreements (Type_Of, Agreement) VALUES (?, ?)
com.Parameters.AddWithValue("", Request.Form["pies"]);
com.Parameters.AddWithValue("", "Wahey! A sample license!");
4

1 に答える 1

1

(回答へのアップグレード)

UNIQUEにインデックスを定義する必要がありますType_Ofマニュアルで説明されているように:

UNIQUEインデックスは、インデックス内のすべての値が個別でなければならないという制約を作成します。既存の行と一致するキー値を持つ新しい行を追加しようとすると、エラーが発生します。すべてのエンジンで、インデックスはを含む列に複数の値をUNIQUE許可します。インデックス内の列にプレフィックス値を指定する場合、列の値はプレフィックス内で一意である必要があります。NULLNULLUNIQUE

したがって:

ALTER TABLE agreements ADD UNIQUE INDEX (Type_Of);
于 2012-06-05T17:33:00.120 に答える