0

MYSQL テーブルに挿入したいレコードがいくつかあります。私はPHPを使用しています。それらのいくつかは重複しています。redbeanPHP orm ( http://redbeanphp.com/ )を使用しています。

私の戦略は、2 つの列 ( FIELD A と DUPLICATENUMBER ) で構成される複合 UNIQUE 制約を使用することです。各レコードが作成されると、DUPLICATENUMBER = 0 になります。

次に、次のようにレコードを挿入してみてください。

try {             
                 $id = R::store($record);
} catch (Exception $exc) {
---------------

重複を挿入しようとすると、エラーが生成されます。次に、DUPLICATENUMBER を 1 増やして再挿入します。今回は、 DUPLICATENUMBER をインクリメントすると一意性が失われるため、一意性制約を維持するために FIELD A と DUPLICATENUMBER の両方が同じである必要がある場合は機能するはずです。この結合された Unique 制約を設定するには、どの MYSQL コマンドを発行する必要がありますか?

前もって感謝します、

明細書

前もって感謝します、

4

1 に答える 1

2

一致する FIELD A を持つレコードの数を選択し、これを DUPLICATENUMBER として設定できます。

于 2013-04-03T15:00:19.983 に答える