试一试mysqldump -uYOUR -pYOURPASS yourdb uc_menber -w "id in (select uc_menber.id from uc_menber left join cdb_menber ON uc_menber.id=cdb_menber.id where cdb_menber.id is not null)" --lock-all-tables > yourResult.sql
然后在把导出的在导入到cdb_menber中即可
这个 SQL 语句…… 几乎是两个表的笛卡尔积呀,那还得了啊!试试这个吧: SELECT u.* FROM uc_menber u LEFT OUTER JOIN cdb_menber ON u.id=c.id WHERE c.id IS NULL ■□■□■□■□■□■□■□■ □ □ ■ 忍以明志 勤以致远 ■ □ □ ■□■□■□■□■□■□■□■ 基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
set_time_limit(365*24*3600); ini_set('memory_limit','512M'); ignore_user_abort(true);1、比如每次取100条 SELECT * FROM uc_menber where id>$last_id ordery by id asc 0,100;2、循环取出来的100条数据,$last_id = id INSERT IGNORE INTO cdb_menber ...3、担心服务器负担重的,可以 sleep(1)一直循环1,2,3步。直到第1步取不出数据为止。在上面的执行过程中,可以建立一个临时表,记录执行状态status(0表示未执行,1表示正在执行),已执行数量,最近执行id。 每次执行第1步之前,先获取检查status,如果不是1,则break或者die掉。
$sql = "select * from uc_menber uc, cdb_menber cdb where uc.id <> cdb.id";//id 是指区分两个数据不一样的字段你可以换一下这句SQl可以取出所有的你要的数据,然后再插入数据库,
如果你的数据特别大,你可以分批插入,这个就不用我说了吧,那样可以节约时间,哈哈
SELECT u.* FROM uc_menber u LEFT OUTER JOIN cdb_menber ON u.id=c.id WHERE c.id IS NULL
■□■□■□■□■□■□■□■
□ □
■ 忍以明志 勤以致远 ■
□ □
■□■□■□■□■□■□■□■
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
ini_set('memory_limit','512M');
ignore_user_abort(true);1、比如每次取100条
SELECT * FROM uc_menber where id>$last_id ordery by id asc 0,100;2、循环取出来的100条数据,$last_id = id
INSERT IGNORE INTO cdb_menber ...3、担心服务器负担重的,可以 sleep(1)一直循环1,2,3步。直到第1步取不出数据为止。在上面的执行过程中,可以建立一个临时表,记录执行状态status(0表示未执行,1表示正在执行),已执行数量,最近执行id。
每次执行第1步之前,先获取检查status,如果不是1,则break或者die掉。
如果还不行。那就别用iis了,换Apache吧!装一个集成的 推荐AMPServ 5.2.6
$conn = @ mysql_connect("localhost", "root", "root") or die("数据库服务器连接错误!".mysql_error());