gpt4 book ai didi

php - 向复杂的 mysql 连接/ View 添加数据

转载 作者:行者123 更新时间:2023-11-30 01:32:37 27 4
gpt4 key购买 nike

我希望有人对我遇到的这种情况有经验。

我有 mysql 用户数据库,其中数据跨多个表。

我正在本地计算机上使用一个工具来查询此信息,然后根据 ID 号将用户 checkin 事件。

接下来我将分别通过“数据库”和“本地”引用上述内容。

我可以通过一组复杂的内部联接查询数据库并获取我需要的数据。为了帮助实现这一点,我创建了一个 View ,效果很好。

我的本​​地可以毫无问题地读取此 View 编译的数据。

现在这是我的问题。本地想要修改此数据集中的数据。它要修改的两个字段当前不存在。本地工具无法创建新条目,只能更新/修改现有条目。

现在,我认为我无法用我创建的 View 做我想做的事情。我想我需要创建一个新表来保存所有这些组合数据,包括两个新字段,以便它可以根据需要修改它们。如果是一次性同步,这会很容易,但当然情况并非如此。

我需要定期查看组合数据并用它更新我的新表。我只需要更新每行中的 1 个字段(真/假),然后添加任何其他行。理想情况下,我想删除已删除的行,但这可能会更困难。

至于更新我的新静态表的字段,我想我会将每一行的字段设置为 false,然后查询该字段设置为 true 的所有行,并将静态表中的这些记录更新为 true。

至于向表中添加新条目,我想我会查询所有记录,查看具有最高唯一标识符的行,然后执行另一个查询以选择具有较高 uid 的所有行。

至于删除行,我不知道。

我是否完全偏离了基础,使这种方式变得比需要的更加复杂,或者是否有更简单的方法来实现这一点?

自定义加入供引用:

SELECT DISTINCT c.fullname AS name, usr.id, usr.username, 
usr.firstname, usr.lastname, usr.email
FROM app_course AS c
INNER JOIN app_context AS cx ON c.id = cx.instanceid
INNER JOIN app_role_assignments AS ra ON cx.id = ra.contextid
INNER JOIN app_role AS r ON ra.roleid = r.id
INNER JOIN app_user AS usr ON ra.userid = usr.id
INNER JOIN app_user_enrolments AS enr ON usr.id = enr.userid

最佳答案

上面评论中的@Barmar 触发器就是答案。

关于php - 向复杂的 mysql 连接/ View 添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17285285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com