-- program_idsテーブルのユニーク制約を変更
-- 現在: (box_id, character_id) のユニーク制約
-- 変更後: (program_id, box_id, character_id) のユニーク制約
-- これにより異なるプログラムで同じユーザーIDを使用可能になる

-- 既存のユニーク制約を削除
ALTER TABLE program_ids
DROP INDEX unique_box_character_id;

-- 新しいユニーク制約を追加（program_idを含む3フィールド）
ALTER TABLE program_ids
ADD UNIQUE KEY unique_program_box_character_id (program_id, box_id, character_id);

-- 実行前の確認用SELECT文（コメントアウト）
-- SELECT program_id, box_id, character_id, COUNT(*) as cnt
-- FROM program_ids
-- GROUP BY program_id, box_id, character_id
-- HAVING cnt > 1;