多个数据库条目或一个数组?

时间:2013-02-03 20:46:29

标签: mysql arrays

    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;

我有上面的表格,它目前为每个用户存储单词,因此结果可能如下:

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个结果?

1 个答案:

答案 0 :(得分:0)

如果您知道自己只有3个单词,我只需将该单词放入一个或3个额外字段中的用户表中,而根本不使用这些表。

如果您需要维护单词表,则应使用您正在使用的此连接表。所以第一个就是要走的路!