Sql插入为“插入块”方法

问题描述 投票:0回答:1

我需要将数据从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);

它可以使用简单的“插入”,但不能与块插入方法一起使用。

php mysql oracle
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.