【发布时间】:2013-02-03 20:46:28
【问题描述】:
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 个结果?
【问题讨论】:
-
第一个选项更好,因为您不应该在字段值内有任何智能。今后,您将无法执行许多标准查询。