私はできる限りこの問題について説明しようとします。私のdbには "status"というフィールドがある "week"という行があります。
今後MYSQLはフィールドに特定の値が入る回数を制限します
アクティブ
一つだけ「アクティブ」週間の行が存在することができます。ステータスは、以下の値を持つことができます。未来と完了は複数回発生することがあります。
Activeをユニークな個別の値にする方法がありますが、複数の行には出現できません。
ここで私が考えることができるのは、PHPを使ってすべての行を読み込んでループし、行がアクティブに設定されているかどうかを調べることです。別の週をアクティブとして選択する。
あなたはそれを防ぐための純粋に技術的な方法をお探しですか?次に、別の列を追加する必要があります(たとえば、「アクティブ」、トリガーまたは数式または代替として計算される可能性があります)およびそのためのユニークなインデックスを追加する必要があります。 2つの行を「1」に設定するとエラーになります。しかし、これは、ユーザーがデータベース内の値を直接編集できる場合にのみ必要です。とにかくユーザーが値を編集するためにphpを使用している場合は、別の行をアクティブに設定する前に(またはその間に)何らかのチェックと更新を行うことができます。 – Solarflare
アクティブなレコードのIDを、1つの行のみを含む他のテーブルに格納することができます。または、行の日付と現在の日付を比較してステータスを判断してください – Mike
もう1つの列はSolarflareですが、行はActiveとCompleted、ActiveとFutureを同時に持つことはできません。 – mediaguru