gpt4 book ai didi

php - mysql - 将行从一个表移动到另一个表或更新

转载 作者:行者123 更新时间:2023-11-29 07:04:44 24 4
gpt4 key购买 nike

情节:我有一个带有 2 个数据库的 PAD 网站:submitdata 和 maindata。submitdata DB 将所有列作为 maindata DB 加上另外 3 列:

主数据列:名称链接电子邮件网站.... progid提交数据列:名称链接电子邮件网站.... progid,反向链接,affiliateid

我必须将所有行从 submitdata DB 移动到 maindata DB,但仅当 backlink !='' 和 IF affiliateid != $affiliateid 时才行。

另一个问题是,如果 progid 已经在主数据数据库中准备好了,在这种情况下,我必须用新数据更新该行...另一个问题是我有大约 40.000 行,所以 SELECT * FROM submitdata 会杀死我的电脑。

关于如何在 PHP 中执行此操作的任何想法?

最佳答案

试试这个:

EXPLAIN SELECT * FROM submitdata;

也许它会告诉您可以为哪些字段提供索引(这可以大大加快查询时间)。然后,如果您不打算移动 backlink 和 affiliateid 字段为空的记录,则可以通过添加 WHERE 子句来减少查询的结果集。

$result = mysql_query('SELECT * FROM submitdata WHERE backlink <> "" AND affiliateid <> ""');
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
$newResult = mysql_query(sprintf('SELECT name,progid FROM maindata WHERE progid = %d', $row['progid']));
$row2 = mysql_fetch_row($newResult);
if ($row2) {
// do UPDATE query
} else {
// do INSERT query
}
}
}

关于php - mysql - 将行从一个表移动到另一个表或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8016487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com