Mysql 多个数据库条目还是一个带有数组的条目?
我有上面的表格,目前为每个用户存储单词,因此结果可能如下:Mysql 多个数据库条目还是一个带有数组的条目?,mysql,arrays,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=latin
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;
现在,单词位链接到单词表word=words\u id
我想知道的是,这是做这件事的最佳方式,还是说拥有更好
1 - 1 - 1
1 - 1 - 2
1 - 1 - 3
并使用数组在文本字段中获取3个结果 如果你知道你只有3个单词,我会把这个单词放在一个或3个额外字段的用户表中,而不使用这些表
如果需要维护Word表,则应使用正在使用的此连接表。因此,第一个是要走的路 第一个选项更好,因为在字段的值中不应该有任何智能。接下来,您将无法执行许多标准查询。
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