私はMySQLを使用しています。テーブルhand
には固定量のcard
が含まれています。この例では、実際には8が必要です)。そして、私はこれらのすべてを格納する必要がありますhand
しかし、既存のhand
を複製することなく。同じテーブルを指す複数の外部キーを含むテーブルの(My)SQLテーブル構造を構築する方法
「複製する」とは、同じデータを含む2つのレコード(手(1,2,3)や手(2,1,3)など)を避けることを意味します。
私は現在、この持っている:
CREATE TABLE card
(
id int(11) NOT NULL,
name varchar(255) NOT NULL,
)
CREATE TABLE hand
(
id int(11) NOT NULL,
card_1 int(11),
card_2 int(11),
card_3 int(11)
)
ALTER TABLE card ADD PRIMARY KEY (id)
ALTER TABLE hand ADD PRIMARY KEY (id)
ALTER TABLE hand ADD FOREIGN KEY (card_1) REFERENCES (card.id)
ALTER TABLE hand ADD FOREIGN KEY (card_2) REFERENCES (card.id)
ALTER TABLE hand ADD FOREIGN KEY (card_3) REFERENCES (card.id)
をそれはINSERT
前に、既存のhand
をチェックし、すべての可能性を試すために私を強制し、それが1 hand
で8 card
秒で書き込むように時間がかかるでしょうリクエストです。
これを行う簡単な方法はありますか?
Noobのでこれを表すカード1,2,3が含まれている場合は、コメントの前に完全な答えをお読みください。ユニーク制約はサイドノートにすぎません。要点は、カードを保管する前に手でカードを分類することです。それが不明な場合に備えて、テキストを少し修正しました。 – GolezTrol
私はそれを今理解しています:)申し訳ありませんがこれは意味をなさないです。 – Noob