Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何根据用户是否对任何相同项目进行了评级,将其添加到用户相关性表中?_Mysql_Sql - Fatal编程技术网

Mysql 如何根据用户是否对任何相同项目进行了评级,将其添加到用户相关性表中?

Mysql 如何根据用户是否对任何相同项目进行了评级,将其添加到用户相关性表中?,mysql,sql,Mysql,Sql,我正在建立一个网站,根据用户喜欢或不喜欢网站上的帖子来确定用户之间的关联值。为了做到这一点,我正在使用大量的物化视图表设置数据库,这些表在其他表发生更改时使用SQL触发器进行更新 我想更新的一个表是一个存储用户之间关系信息的表,它基于一个存储用户提供的帖子的喜欢和不喜欢的比率的表 在rates表中,我有user\u id、post\u id和liked列,如果用户喜欢帖子,则为1;如果用户不喜欢帖子,则为1 在用户-用户相关性表中,我计划使用user\u id\u a、user\u id\u b

我正在建立一个网站,根据用户喜欢或不喜欢网站上的帖子来确定用户之间的关联值。为了做到这一点,我正在使用大量的物化视图表设置数据库,这些表在其他表发生更改时使用SQL触发器进行更新

我想更新的一个表是一个存储用户之间关系信息的表,它基于一个存储用户提供的帖子的喜欢和不喜欢的比率的表

在rates表中,我有user\u id、post\u id和liked列,如果用户喜欢帖子,则为1;如果用户不喜欢帖子,则为1

在用户-用户相关性表中,我计划使用user\u id\u a、user\u id\u b、agreed、discovered和total列。其中“同意”是指他们评级相同的职位数量,“不同意”是指他们评级相反的职位数量,“合计”是指他们都评级过的职位总数

我想在rates表上设置一个触发器,以便在向其中添加行时,它将:

将尚未存在的所有必要用户关联行添加到用户关联表中 更新用户关联表中所有相关行中的“已同意”、“已停用”和“总计”列 编辑:我的问题是如何编写要点中列出的查询。我知道如何编写触发器,但在这种情况下,我不知道如何使查询进入触发器内部

当更新或删除速率中的行时,我还需要编写类似的触发器


我在MySQL数据库中工作。

你有什么问题?你有多少用户和帖子?真的需要单独的表格吗?有什么问题吗?您需要关于编写触发器的基础知识的指导吗?如果您知道如何编写触发器,那么这个问题给您带来的困难是什么?也许你想听听你的建议是否合理?如果是这样,我们可能需要更多的信息,比如现在有多少用户和增长率?评级的频率是多少?您建议的相关性表的访问频率如何?我的问题是如何编写要点中列出的查询。我知道如何制作触发器。我将编辑我的问题。