2
    CREATE TABLE IF NOT EXISTS `user_words` (
      `id` int(15) NOT NULL AUTO_INCREMENT,
      `user` int(15) NOT NULL,
      `word` int(15) NOT NULL,
      PRIMARY KEY (`_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `words` (
      `words_id` int(15) NOT NULL AUTO_INCREMENT,
      `words_word` VARCHAR(15) NOT NULL,
      PRIMARY KEY (`words_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

現在、各ユーザーの単語を格納している上記の tableS があるため、結果は次のようになります。

1 - 1 - 1
1 - 1 - 2
1 - 1 - 3

これで単語ビットが単語テーブル word=words_id にリンクされました

私が知りたいのは、これがこれを行うための最良の方法であるか、または持っていると言ったほうがよいでしょうか

CREATE TABLE IF NOT EXISTS `user_words` (
  `id` int(15) NOT NULL AUTO_INCREMENT,
  `user` int(15) NOT NULL,
  `word` TEXT NOT NULL,
  PRIMARY KEY (`_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

1 - 1 - 1 2 3

配列を使用して、テキスト フィールドに 3 つの結果を取得しますか?

4

1 に答える 1

0

単語が 3 つしかないことがわかっている場合は、その単語をユーザー テーブルの 1 つまたは 3 つの追加フィールドに入れ、これらのテーブルをまったく使用しないようにします。

単語テーブルを維持する必要がある場合は、使用しているこの接続テーブルを使用する必要があります。だから最初のものは行く方法です!

于 2013-02-09T12:41:01.470 に答える