我有一个准备 3 种不同 SQL 提交的 PHP 脚本。SQL 对所有这些都有效。如果我交换下面 IF 语句的顺序,它们都可以工作。如果$ratesSQL
是第一个,那么 1) 和 2) 都有效。如果其他两个中的任何一个是第一个,那么只有 1) 有效。
SQL:
$sqlRates = "
LOAD XML LOCAL INFILE '/xx/yy/zz/example.xml'
REPLACE
INTO TABLE rates
ROWS IDENTIFIED BY '<row>'";
两者$vixSQL
和$aaaSQL
都是很多REPLACE INTO
陈述。例子:
REPLACE INTO aaa (date,value) VALUES ('2016-01-29','4.05'); REPLACE INTO aaa (date,value) VALUES ('2016-01-28','4.07');
IF 语句:
1) 成功提交如下。$ratesSQL 大约有 300 行数据。
if (mysqli_multi_query($dbc, $ratesSQL)) {
echo "<h3>Rates Load Successful</h3><br>";
} else {
echo "<h3>Rates Load Error</h3><br>";
}
2) 提交成功。约 8000 行数据。
if (mysqli_multi_query($dbc, $vixSQL)) {
echo "<h3>VIX Load Successful</h3><br>";
} else {
echo "<h3>VIX Load Error</h3><br>";
}
3) 提交失败,约 8000 行数据
if (mysqli_multi_query($dbc, $aaaSQL)) {
echo "<h3>AAA Load Successful</h3><br>";
} else {
echo "<h3>AAA Load Error</h3><br>";
}
提交的$ratesSQL
数据只有大约 300 行,而另外两个大约是 8000 行。是这个数据量引起了我的问题吗?有什么建议可以绕过它吗?
结合下面每个答案的查询可以让我解决这个问题。仍然对单独查询失败的原因感到困惑。任何进一步的信息将不胜感激