
[英]How to update table1 with content from table2 with php and mysql
[英]MYSQL, PHP: INSERT INTO table2 from table 1 only if the project ID is not in second table
我有2张桌子:销售线索和项目。 仅手工填充引线。 当线索记录被分配为项目时,应将其插入项目表中。
我需要选择列project_number
, title
, segment
, type_project
, source
从表management_leads
并插入到表management_projects
在列project_number
, title
, segment
, type_project
, source
仅当management_leads.project_number
不在存在management_projects.project_number
列。
到目前为止,这是我目前无法使用的内容:
$query="INSERT INTO p_management_projects (project_number,title, segment, type_project)
SELECT project_number, title, segment, type_project FROM `p_management_leads` AS leads,
`p_management_projects` AS projects WHERE leads.status='Project' AND
leads.transfered='No' AND leads.projects_number != projects.projects_number";
这应该工作:
insert into management_projects (project_number, title, segment, type_project, source)
select l.project_number, l.title, l.segment, l.type_project, l.source
from management_leads l
left join management_projects mp
on l.project_number = mp.project_number
where mp.project_number is null;
我们从management_leads
表中插入,并left joined
到management_projects
表,但是仅在management_projects
值为null的情况下-这意味着project_number
上没有匹配项。
另一种方法将使用where not exists
,而不是左连接:
insert into management_projects (project_number, title, segment, type_project, source)
select project_number, title, segment, type_project, source
from management_leads l
where not exists
(select 1
from management_projects
where project_number = l.project_number)
最后一种选择是对management_projects.project_number施加unique constraint
,并使用insert ignore
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.