我有一个表,用来存储用户在网站上对图片发表的评论。该表包含四列,分别是行ID(主键)、图片ID、用户ID和评论内容。我想要实现的功能是确保每个用户只能在同一张图片上发表一条评论。这样的话,我需要在这两列上创建唯一索引吗?
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';
问题是表使用的是InnoDB引擎,因为预计数据量将非常大。尽管存在主键,这种方法是否可行?