php - MYSQL表有两个不同的名称

标签 php mysql moodle zen-cart

我正在集成两个系统,moodle 和 zen-cart。每个系统都有自己的表来存储用户数据。我需要两个系统为客户访问同一张表。 Moodle 有一个名为 mdl_users 的表。 Zen-cart 有一个名为“顾客”的表。这些表包含相似的数据,但字段名称不同:

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 表中提取(指定字段名称关系)?我不想重写所有数百个查询,而是设置一次(或每个数据库调用调用一次)自动执行此操作。

希望示例结果:

此查询(来自 zen-cart 系统):

Select customers_password from customers where customers_id = :id

实际上返回结果,就像它已经运行一样:

select password from mdl_user where id = :id

(编辑/添加) mdl_users.id 是moodle 系统的主键字段。 (唯一、索引、自动编号)。 customer.customers_id 与 zen-cart 系统相同。

任何解决方案都必须在插入和更新时保持主键数字的一致性。

最佳答案

您可以使用触发器来执行此操作,搜索 sql 触发器。这可以从一个表到另一个表进行调用,我的意思是您可以对触发器进行编程,以便接收 Moodle 查询并生成 zen-cart 表的查询。

关于php - MYSQL表有两个不同的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751257/

相关文章:

php - 多个离线网页同步

php - Laravel 5.5 Eloquent 在多于 1 列的情况下变得不同

mysql - Mysql服务器在windows登录之前启动吗?

php - 在数据库中搜索到图片后如何删除它?

javascript - iframe-resizer 发送消息,但未接收

php - 如何在运行时打开/关闭 Xdebug 分析?

javascript - 存储用户之前是否按下过按钮

php - 使用 php 将 angularjs 表单值插入数据库

mysql - 解析数组参数中的变量不适用于 get_records_select

php - 我如何更改 Moodle 中 block 的宽度大小?是CSS吗?文件是什么?