我要做的是找出电子邮件地址为emails.from
值的成员的id
是什么,并将他们的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'].'"');
}
发布于 2012-08-21 21:23:39
如果我理解你的代码,你可以尝试这样做:
UPDATE `emails`
INNER JOIN `exchange` ON `exchange`.`email` = `emails`.`from`
SET `emails`.`from` = `exchange`.`id`
发布于 2012-08-21 21:20:58
如果你做的是整个表,就不需要查了。
UPDATE emails SET from=id
将完成表中的每一行。
发布于 2012-08-21 21:23:55
下面的查询应该可以做到这一点:)
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
https://stackoverflow.com/questions/12063045
复制相似问题