データベースの内容を次のような形式で sql ファイルにダンプしました。
insert into `a` values
(17,11,5),
(18,12,7),
(19,12,10),
(21,14,45),
(22,15,46),
(24,16,46),
(25,16,49),
(26,17,21),
(27,17,30),
(28,17,45),
(29,17,54),
(30,18,32),
(31,18,35),
(32,19,23),
(33,19,27),
(34,19,54),
(35,20,53),
(36,21,32),
(37,21,35),
(38,21,45),
(39,22,23),
(40,22,30),
(41,22,45),
(57,24,19),
(58,25,46),
(59,26,39),
(60,27,49),
(61,27,56),
(62,28,34);
insert into `b` values (14,'2009-01-06',''),
(15,'2009-02-01',''),
(16,'2009-03-01',''),
(17,'2009-03-25',''),
(18,'2009-04-05',''),
(19,'2009-04-17',''),
(20,'2009-04-18',''),
(21,'2009-04-19',''),
(22,'2009-04-23',''),
(24,'2009-07-05',''),
(25,'2009-08-02',''),
(26,'2009-08-07',''),
(27,'2009-09-06',''),
(28,'2009-09-14','');
etc..
前キー制約のない 4 つのテーブルがあります。次に、データをデータベース (mysql) にアップロードしようとします。ファイルの内容を読み取り、各テーブルの挿入を配列に渡し、各要素に対して mysql_query を実行します。
$sqlArray = explode(';',$sqlFile);
for($i=0;$i<sizeof($sqlArray);$i++){
mysql_query($sqlArray[$i]) or die ('Error: '.mysql_error());;
}
その結果、最後の 3 つのテーブルは挿入されますが、最初のテーブルは挿入されません。エラーは次のとおりです。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' insert into `a` values (17,11,5), (18,12,7), (19,12,10), (21,14,4' at line 1
$sqlArray の内容が正しく、クエリが正しく、phpmyadmin から実行できることを確認しました。
問題は最初のテーブルに関係なく (つまり、最初のテーブルであっても表示されb
ます)、クエリは常に途中 (またはほぼ 70 文字) で「カット」されているようです。
どんな助けでも大歓迎です!