Php 如何通过比较多列更新mysql记录
实际上,在比较两个mysql表和多列时,我需要更新mysql记录,如果记录不存在,应该作为新记录插入。我怎样才能做到呢?下面是我的情景。提前谢谢 表1:Php 如何通过比较多列更新mysql记录,php,mysql,Php,Mysql,实际上,在比较两个mysql表和多列时,我需要更新mysql记录,如果记录不存在,应该作为新记录插入。我怎样才能做到呢?下面是我的情景。提前谢谢 表1: Name | Age | occupation | DOJ | Salary | ---------------------------------------------------------------- Raju | 27 | Manager | 12/12/12 | 12,000 --------------
Name | Age | occupation | DOJ | Salary |
----------------------------------------------------------------
Raju | 27 | Manager | 12/12/12 | 12,000
--------------------------------------
Raman | 30 | Director | 11/11/11 | 14,000
-
Sriram | 25 | Assistant | 10/10/10 | 10,000
-
表2:
Name | Age | occupation | DOJ | Salary |
----------------------------------------------------------------
Raju | 27 | Manager | 12/12/12 | 12,000
--------------------------------------
Raman | 30 | Director | 8/8/8 | 18,000
-
Ravi | 34 | CEO | 9/9/9 | 30,000
-
我有一个excel,上面有一堆具有上述结构的记录,我需要将这些记录上载到临时tabletemp_表中,然后将该表与主tablemain_表进行比较,无论是否存在任何记录,如果存在任何更新,需要在主_表上进行更新,否则将其作为新记录插入主_表中
谢谢。您可以编写一个选择,当且仅当给定名称存在时,该选择将返回1。然后,您可以将其用作另一个选择的子查询,该选择将否定该存在,以查找应该插入的内容。最后,您可以将第二个选择用于“插入选择”:
您需要在表1和表2中创建一个关于姓名、年龄、职业、司法部和工资的唯一索引。然后您可以整天在表1中插入忽略并从表2中选择*。或者“替换到表2中,从表1中选择*”,如果您想更新内容。您的问题不清楚。您将在何处插入?您将在何处更新?为什么Raman表1与Raman表2不同?向我们显示数据库模式、示例数据和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的好地方。@JuanCarlosOropeza的可能重复我已经解释了足够的信息,如表格的结构,当你询问模式时,还有样本数据。如果你问为什么表1拉曼与表2拉曼不同,那就是我需要更新它。例如,你想让我解释一下事件发生的时间还是事件发生的那天?我告诉过你,我的解释很糟糕。记住,我不知道你有什么问题。这就是为什么我建议这些链接帮助你提出更好的问题,你是感兴趣的一方,你应该努力解释问题,让每个人都能理解。不确定是否要合并两个表,请尝试在两个表上进行双重插入,这样我就不会浪费时间去猜测您的意思。
insert into Table2(Name, Age, Occupation, Doj, Salary)
select Name, Age, Occupation, Doj, Salary
from Table1 t2 where not exists (select 1
from Table2 t
where t.Name = t2.Name)