我有一个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和电子邮件地址)?什么应该是有效和推荐的方法来做到这一点?
答案 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