TABLE_1
ID | Username
1 John
2 Mike
3 Chase
4 Shane
TABLE_2
ID | Username
1 | John
2 | Kenny
3 | Chase
4 | Shane
我想从 Table_1 获取 ID 。然后在 table_2 中找到 ID 。然后我需要它来查看两个表中的字段用户名。如果他们匹配什么都不做,如果他们不匹配,那么将其更新为 Table_2 中的用户名并运行一些代码(如给我发电子邮件)
每次运行脚本时,我都需要检查Table_1中的每一行。
答案 0 :(得分:0)
你必须使用INNER JOIN以便在两个表中找到匹配的ID,如果你有一个然后更新。
$sql = mysql_query("SELECT table_1.id as id_one,table_1.name as name_one,table_2.name as name_two FROM table_1 INNER JOIN table_2 ON (table_1.id = table_2.id)") or die(mysql_error());
if(mysql_num_rows($sql) > 0)
{
while($fetch = mysql_fetch_assoc($sql))
{
if($fetch['name_one'] != $fetch['name_two'])
{
// UPDATE table_1 'name' FIELD
mysql_query("UPDATE table_1 SET name = '".$fetch['name_two']."' WHERE id = ".$fetch['id_one']) or die(mysql_error());
// DO WHATEVER YOU WANT
}
}
}
答案 1 :(得分:0)
我的MySQL有点生疏,但可以使用单个Update语句完成。以下内容应仅更新Table_1中与Table_2不同的用户名。您可能需要稍微调整一下语法......
update Table_1 t1
join Table_2 t2
on t2.id = t1.id
and t2.Username <> t1.Username
set t1.Username = t2.Username;
您可以事先查询以生成所需的任何电子邮件。