我有两个表,一个用于存储用户报告,另一个用于存储用户。
1. Report_table
-----report_id(P)-----user_id--------
001 user1
002 user1
003 user3
2.Users table
-------user_id(P)-------no_of_reports
user1 2
user2 0
user3 1
现在,每当将报告插入report_table(例如report_id:004,user_id:user1)时,我都会像这样更新两个表。
INSERT INTO reports_table VALUES (004,`user1`)
INSERT INTO users_table (user_id,no_of_reports) VALUES (`user1`,1)
ON DUPLICATE KEY UPDATE no_of_reports=no_of_reports+1;
有没有更好的方法呢?当插入新报告时,有没有办法 自动增加 no_of_reports计数器?
您可以TRIGGER
使用AFTER INSERT
触发器来应对
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
问题内容: 我正在尝试根据另一个MySQL信息更新一个MySQL表。 我的桌子看起来像: 而表如下所示: 我想更新在与来自基于(存储在字符串字段)。 希望更新后的表如下所示: 我有一个有效的查询,但是非常慢: 这使我的CPU耗尽,最终导致超时,并且仅执行了一部分更新(有数千个要匹配的值)。我知道匹配的速度会很慢,但这是我必须将它们匹配在一起的唯一数据。 有没有更好的方法来更新这样的值?如果可以更快
问题内容: 是否可以在带有子选择的mysql 5.0上运行UPDATE命令。 我要运行的命令是这样的: ISBN13当前存储为字符串。 这应该更新10k +行。 谢谢, 威廉 问题答案: 只需更改一下即可:
问题内容: 我有两个桌子,看起来都像 我需要根据每个表中的检查名称复制from 到的值。 此声明有任何提示吗? 问题答案: 除了此答案外,如果您需要根据tableA.value动态更改tableB.value,则可以执行以下操作:
问题内容: 我有两个桌子, 这是我的第一张桌子, 这是我的第二张桌子 我需要一些如何使用第一个表中的数据更新第二个表中的所有行的信息。 它需要在一个更新查询中完成所有这些操作。 SUBST_ID和SERIAL_ID都匹配,它需要从第一个表中获取created_id并将其插入第二个表中。 因此,第二张表将变为以下内容, 感谢您的帮助和指导。 问题答案:
问题内容: 我有两个表,具有相同的架构- 我想将test2表中的值插入到test1中,但是如果具有相同主键的行已经存在,请对其进行更新。我知道在mysql中,您可以使用ON DUPLICATE KEY UPDATE做类似的事情- 但是我不知道如何使用另一个表中的SELECT来执行上述查询。我正在寻找的是表格查询- 该查询显然是无效的。如果有人可以从中提出有效的查询,我将不胜感激。 问题答案: 这应
问题内容: 有2个表/实体,非常简单的场景。 表 诗人 -列:id,诗人,国家 表格 国家 -栏:编号,国家,计数 基本上, 国家 对 诗人 的映射自然是一对多的。例如,有来自60个国家的1000名诗人。在每个诗人 的诗人 被包含在国家之一的id民族领域分配给一个民族 国家 。 国家 的计数字段包含来自该国家的诗人中的 诗人 人数。 我的问题是如何仅使用一个SQL查询来按国家对 诗人 的人数进行计