以下内容适用于PHP。我看到我的"加载成功"回音。
$sql = "
LOAD XML LOCAL INFILE 'test.xml'
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
";
if (mysqli_query($dbc, $sql)) {
echo "Load Successful";
} else {
echo "Load Error";
}
如果我在phpMyAdmin GUI:中提交它,那么下一个比特就可以工作了
LOAD XML LOCAL INFILE 'test.xml'
REPLACE
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
为什么以下内容在PHP中不起作用??我正在获取"加载错误"回波。
$sql = "
LOAD XML LOCAL INFILE 'test.xml'
REPLACE
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
";
if (mysqli_query($dbc, $sql)) {
echo "Load Successful";
} else {
echo "Load Error";
}
非常困惑。显然错过了一些简单的东西。任何建议都将不胜感激。调试困难。
为了解决这个问题,我尝试先从PHP中删除表中的所有内容,然后再加载数据,而不使用replace子句。
问题解决了。与我一起尝试执行此操作的数据库用户没有删除权限。
REPLACE需要DELETE权限。