从另一个MySQL数据库中的表中访问数据和引用ID?

时间:2015-03-26 11:39:50

标签: mysql sql crm

我有一个mysql数据库用于表单提交(用PHP编写)数据和一个用于crm(使用X2CRM)的mysql数据库在同一台服务器上。

在我的网站上提交表单时,表单的POSTed数据将作为通知发送给电子邮件给客户签订合同。 这些电子邮件是存储在crm数据库中的客户。

我想在表单提交数据库的表格中将客户ID作为FK引用,并提供表单提交ID。

使用SQL直接访问CRM数据库是否更好,并在表单提交表DB上相应地插入客户ID,如此处所述 http://wiki.x2engine.com/wiki/Interacting_with_the_Database

我会查询并仅使用合约状态设置为有效的客户ID。

或者我应该在表单提交数据库中维护一个表格,其中包含客户所需的信息(例如姓名,地址电子邮件,合同状态)?那显然意味着用CRM维护数据会产生开销吗?

最好选择第一个选项吗?但是可以将一个数据库中的PK ID用作另一个数据库中表格中的FK吗?

我想第一个选项我需要查询CRM数据库,并在提交表单时每个客户记录使用相关值(ID和电子邮件地址)?什么应该是有效和推荐的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

我认为您应该选择第一个选项,因此您可以避免重复不必要的数据并进行维护。 并且您应该在提交表中添加引用CRM客户表的外键

create table submission (
  id .......
  crm_customer_id int unsigned not null,
  ......
  foreign key(crm_customer_id) references crm.customer_id on update cascade on delete cascade,
  .....
) engine=InnoDB