questions
とanswers
のテーブルがあり、それぞれプライマリキーid
を持っています。2列のMySQL外部キー:整数AND文字列
そして、次のような構造を持つテーブルvotes
:私はvotes
に外部キー制約を追加するにはどうすればよい
CREATE TABLE `answers` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
//whatever
PRIMARY KEY (`id`)
)
CREATE TABLE `questions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
//whatever
PRIMARY KEY (`id`)
)
CREATE TABLE `votes` (
`item_model` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
`item_id` int(10) NOT NULL,
`vote` int(1) NOT NULL,
KEY `item_id_model` (`item_model`,`item_id`)
)
The index on votes consists of 2 columns:
item_model: string - can have one of 2 values: 'Question' or 'Answer'
item_id: integer - references the question or answer's id
は、テーブルquestions
とanswers
上のIDを参照します。一意の参照(item_model
とitem_id
)を構成するために2つの変数を組み合わせることによってそれを行う方法はありますか?
または悪い練習に投票するために私の選択した構造です。つまり、ピボットテーブルを2つ作成する必要があります。answer_vote
とquestion_vote
?最初の質問への答えとして
現在の 'SHOW CREATE TABLE'出力を投稿する – e4c5