21
我有一张表,用于存储用户在网站上对图像所做的评论。该表由四列构成,row_id是主键,image_id,user_id和注释。我想要做的是确保用户只能为每个图像留下一条评论。我只需在两列上创建一个唯一索引?MySQL使列的组合唯一
CREATE UNIQUE INDEX imgusr ON comments (image_id, user_id);
的想法是让下面的查询工作:
INSERT INTO comments SET image_id = '1', user_id = '2', comment = 'nice' ON DUPLICATE KEY UPDATE comment = 'nice';
的gotchya(?gotme)是该表是InnoDB的,因为它有望获得非常大的。尽管存在主键,这是否可行?
你试过了吗?你是否担心它失败,或者它表现不佳? – outis 2011-05-10 20:12:06
两者。我实际上正在从一个系统转换到另一个系统,并且最初的表格将会相当庞大(立即有400万行,预计在前几周内将增长到2000万),所以我想确保我正在进行此操作从一开始就是正确的方式。 – Wige 2011-05-10 20:34:31