Mysql SQL中作为计数器的自动增量

Mysql SQL中作为计数器的自动增量,mysql,sql,auto-increment,Mysql,Sql,Auto Increment,我有一个表,有3列imageId、reportId和counter 表的主键是imageId列、reportId列 现在,我希望计数器列将是我尝试插入imageId和reportId对多少次的计数器 例如,如果我有一张x.png图像,有100人报告这张图像包含色情内容, 我希望表中值为x.png的行在计数器列中有100。 当下一个人将此图像报告为色情时,我希望计数器为101,以此类推 我怎么能做这样的事 谢谢在这种情况下,最好向表中添加新行。这意味着您可以在顶部提供一个视图,可以根据需要选择计数

我有一个表,有3列imageId、reportId和counter 表的主键是imageId列、reportId列 现在,我希望计数器列将是我尝试插入imageId和reportId对多少次的计数器

例如,如果我有一张x.png图像,有100人报告这张图像包含色情内容, 我希望表中值为x.png的行在计数器列中有100。 当下一个人将此图像报告为色情时,我希望计数器为101,以此类推

我怎么能做这样的事


谢谢

在这种情况下,最好向表中添加新行。这意味着您可以在顶部提供一个视图,可以根据需要选择计数

每个报表新增一行的好处是,它还允许用户添加自定义消息等

-更新

这里有一些关于视图的详细信息

在它的核心,您的查询将只是一个基本的查询,如

SELECT imageId, reportId, count(reportId) as count FROM training.reporttable group by imageId, reportId
以下是一个基本示例:


注意,我坚持使用您的示例数据,但reportId和imageId应该标准化。在这种情况下,最好向表中添加新行。这意味着您可以在顶部提供一个视图,可以根据需要选择计数

每个报表新增一行的好处是,它还允许用户添加自定义消息等

-更新

这里有一些关于视图的详细信息

在它的核心,您的查询将只是一个基本的查询,如

SELECT imageId, reportId, count(reportId) as count FROM training.reporttable group by imageId, reportId
以下是一个基本示例:

注意,我坚持使用您的示例数据,但reportId和imageId应该标准化

您还可以将计数器列的默认值设置为0,并使用以下选项:

INSERT IGNORE INTO table (imageId, reportId) VALUES (1, 1) ON DUPLICATE KEY UPDATE SET counter=counter+1
使用

您还可以将计数器列的默认值设置为0,并使用以下选项:

INSERT IGNORE INTO table (imageId, reportId) VALUES (1, 1) ON DUPLICATE KEY UPDATE SET counter=counter+1

同意,没有理由过度取消此设置的正常化。当用户提交表单时,插入一条记录。不要因为报告数据的概念而污染数据的存储。独立存储所有记录并为报告创建数据视图。我不需要用户发送任何cutmon消息,我只需要计数器,以便图像数据库的管理员对已报告的图像具有某种优先级most@user1851268正如David所说,最好将业务逻辑与数据分离。我只是提供了另一个小的好处,可以通过做sook获得,我如何创建数据视图?这意味着什么?更新我的答案以显示一个基本查询,然后在视图中使用该查询。同意,没有理由过度反规范化此设置。当用户提交表单时,插入一条记录。不要因为报告数据的概念而污染数据的存储。独立存储所有记录并为报告创建数据视图。我不需要用户发送任何cutmon消息,我只需要计数器,以便图像数据库的管理员对已报告的图像具有某种优先级most@user1851268正如David所说,最好将业务逻辑与数据分离。我只是提供了另一个小的好处,可以通过做sook获得,我如何创建数据视图?这意味着什么?更新了我的答案,显示了一个基本的查询,然后在viewtnx中使用,我想到了类似的东西,只是不知道怎么做,我想到了类似的东西,只是不知道怎么做