任务:将数据从oracle插入mysql
为了更快地插入数据,我将插入数据作为“插入块”方法。
喜欢这样。(例如查询两个记录..(真实500))
INSERT INTO test_table
(bill_balance,
prime_uid,
customer_id,
account_name,
phone,
street,
bill_dt,
account_no)
VALUES ('111',
'123456',
'1234-56789',
'My name is',
'20373359',
'Street name',
'1970-01-01 02:00:00',
'123456'),
('2',
'123',
'123-123',
'TEST',
'',
'test 123',
'1970-01-01 02:00:00',
'123456789')
我遇到了这个错误: MySQL服务器已经消失 我在php中设置了这个设置:
error_reporting(E_ALL);
ini_set("memory_limit", "512M");
ini_set("max_execution_time", 0);
set_time_limit(0);
ini_set('display_errors','1');
ini_set('interactive_timeout', 3600);
ini_set('wait_timeout', 3600);
ini_set('mysql.connect_timeout', 60);
ini_set('mysql.allow_persistent', true);
使用简单的插入,它可以工作!它不适用于块插入方法。
答案 0 :(得分:2)
您可能超出了允许的数据包大小
将strlen($yourQuery)
(+一些可行边际)的结果与
的结果进行比较
SHOW VARIABLES LIKE 'max_allowed_packet'
另见:http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_max_allowed_packet