【发布时间】:2015-03-01 07:43:39
【问题描述】:
我正在集成两个系统,moodle 和 zen-cart。每个系统都有自己的表来存储用户数据。我需要两个系统来为客户访问同一张表。 Moodle 有一个名为 mdl_users 的表。 Zen-cart 有一张名为 customers 的表。这些表包含相似的数据,但具有不同的字段名称:
mdl_users fields:
id, username, password, firstname, lastname, email, etc....
customers fields:
customers_id, customers_nick, customers_password, customers_firstname, customers_lastname, customers_email_address, etc...
每个系统中有数百个查询指向这些表(以一种封装不好的方式)。
有没有办法将一个表指向另一个表,这意味着所有对客户表的调用都将从 mdl_users 表中提取(指定字段名称关系)?我不打算重写所有数百个查询,而是设置一次(或每次 DB 调用调用一次)自动执行此操作。
希望例如结果:
此查询(来自 zen-cart 系统):
Select customers_password from customers where customers_id = :id
实际上返回结果就像它已经运行一样:
select password from mdl_user where id = :id
(编辑/添加) mdl_users.id 是moodle 系统的主键字段。 (唯一、索引、自动编号)。 customers.customers_id 与 zen-cart 系统相同。
任何解决方案都必须在进行插入和更新时保持主键编号的一致性。
【问题讨论】:
-
我想你可以设置一个视图。视图是一个虚拟表。您可以创建一个指向客户的名为“mdl_user”的视图。阅读此code.tutsplus.com/articles/…