1

変なタイトルですみません、うまく書けませんでした...

ここに画像の説明を入力

上の画像を見てください。

mysqlでは、user_idに基づいて列をUNIQUEにすることは可能ですか?

これを言い換えると、特定の user_id に対してのみ注文列の値をすべて一意にすることは可能ですか?

そのため、user_id = 1 order = 1 の場合、別の order = 1 はあり得ません。しかし、user_id = 2 の場合、order = 1 を再び持つことができますか?

それとも、mysql とやり取りする php スクリプトでこれを制御する方が良い/速いですか?

4

3 に答える 3

3

次のように、複合値に一意性を強制する複合インデックスを作成できます。

CREATE UNIQUE INDEX `myUniqueIndex` ON mytable (user_id, order)

重複する複合値を含む行を挿入しようとすると、確認できるエラーが返されます

于 2013-10-12T15:35:45.893 に答える
0

2 つの列で一意の複合キーを作成します。

ALTER IGNORE TABLE tableName ADD UNIQUE KEY `someName` (user_id, `order`);
于 2013-10-12T15:33:18.470 に答える