我在同一台服务器上有一个用于表单提交的mysql数据库(用PHP编写)和一个用于客户关系管理的mysql数据库(使用X2CRM)。
当表格在我的网站上提交时,表格的POSTed数据将作为通知客户签署合同的通知发送到电子邮件。这些电子邮件是crm数据库中存储的客户的电子邮件。
我想引用客户id作为FK与表单提交数据库中的表上的表单提交id。
是否更好地使用SQL直接访问CRM数据库,并在表单提交表DB上插入相应的客户id,如这里所解释的http://wiki.x2engine.com/wiki/Interacting_with_the_Database
我将仅查询和使用合同状态设置为有效的客户I。
或者我应该在表单提交数据库中维护一个表,其中包含所需的客户信息(例如姓名、地址、电子邮件、合同状态)?这显然意味着与CRM中的数据一起维护数据的开销?
那么最好的选择是什么呢?但是,可以使用一个数据库中的PK in作为另一个数据库上的表中的FK吗?
我猜对于第一个选项,我将需要查询CRM数据库,并在每次提交表单时为每个客户记录使用相关值(ID和电子邮件地址)?应该采用什么有效且推荐的方法来实现此目的?
发布于 2015-03-26 19:58:34
我认为你应该选择第一个选项,因此你应该避免复制不必要的数据并对其进行维护。并且您应该在提交表中添加引用CRM的customer表的外键
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=InnoDBhttps://stackoverflow.com/questions/29277485
复制相似问题