表行的 MySQL 元数据
我有一个关于如何保存表行元数据的问题。
例如,我有一个表,其中包含有关图像 items_images
的数据。 id,INT(20) 标题,VARCHAR(255) 添加日期、日期时间 ...
现在我想添加一个投票系统,用户可以对图像项目投票“喜欢”或“不喜欢”。我是否应该向 items_images
添加两个新字段: votes_like,INT(20) votes_dislike、INT(20)
或者我应该创建一个单独的表来存储此元数据votes
: 项目 ID,INT(20) votes_like,INT(20) votes_dislike,INT(20)
感谢您的帮助!
I have a question about how to save metadata for table rows.
For example, I have a table which contains data about images items_images
.
id, INT(20)
title, VARCHAR(255)
date_added, DATETIME
...
Now I want to add a voting system where users can vote "like" or "dislike" for the image items. Should I just add two new fields to the items_images
:
votes_like, INT(20)
votes_dislike, INT(20)
or should I create a separate table to store this meta data votes
:
item_id, INT(20)
votes_like, INT(20)
votes_dislike, INT(20)
Thanks for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要重复数据!你应该存储谁投票了,对吧?您应该像后面的方法一样创建一个新表。
请参阅:
数据库规范化
Don't repeat the data ! You are supposed to store who voted, right? You should create a new table like your later approach.
See:
Database Normalization
据我了解,你只想保存喜欢和不喜欢的数量,而不是投票的人。我会更改表和两列,因为它比第二个表稍快。
如果你想保存选票,我的意思是谁投票了,我完全同意 Sarfraz Ahmed
As I understood it, you just want to save, the number of likes and dislikes and not who voted. Than I would alter the table and and the two columns, because it is slightly faster than a second table.
If you want to save the votes, I mean who voted, I totally aggree with Sarfraz Ahmed