[英]Combining 3 MySQL queries into one
我正在试图做的是采取整个表,并找出什么id
是其电子邮件地址是价值成员的emails.from
并把自己的id
在那里来代替。 我正在尝试使用ID而不是电子邮件地址来提高性能,但无法完成此任务。
$mysql = new mysql();
$mysql->query('SELECT `from` FROM `emails` ORDER BY `id` ASC' );
while($row = mysql_fetch_array($mysql->result)){
$mysql2 = new mysql();
$mysql2->query('SELECT `id` FROM `exchange` WHERE `email` = "'.$row['from'].'"');
$details = mysql_fetch_assoc($mysql2->result);
$mysql2->query('UPDATE `emails` SET `from` = '.$details['id'].' WHERE `from` = "'.$row['from'].'"');
}
如果你正在做整张桌子,就不需要查阅了。
UPDATE emails SET from=id
将在表格中的每一行。
如果我理解您的代码,您可以尝试这样的事情:
UPDATE `emails`
INNER JOIN `exchange` ON `exchange`.`email` = `emails`.`from`
SET `emails`.`from` = `exchange`.`id`
下面的查询应该做的伎俩:)
update emails
set `from`=(select e.id from exchange as e where e.email=em.`from`)
from emails as em
order by em.id asc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.