サイト上の画像についてユーザーが行ったコメントを保存するテーブルがあります。このテーブルは、主キーであるrow_id、image_id、user_id、およびコメントの4つの列で構成されています。私がやりたいのは、ユーザーが画像ごとに1つのコメントしか残せないようにすることです。2つの列に一意のインデックスを作成するだけですか?
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';
落とし穴(gotme?)は、テーブルが非常に大きくなることが予想されるため、テーブルがinnoDBであるということです。これは、主キーが存在するにもかかわらず機能するアプローチですか?