Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入phpMyAdmin后插入导出不工作_Php_Sql_Pdo_Mariadb - Fatal编程技术网

导入phpMyAdmin后插入导出不工作

导入phpMyAdmin后插入导出不工作,php,sql,pdo,mariadb,Php,Sql,Pdo,Mariadb,我正在使用PDO::exec()从phpMyAdmin导出导入表,然后将数据插入其中一个表中。每次我尝试导入文件时,它似乎会截断插入后生成的表,因为插入后的select语句会正确显示行。但是,如果在运行脚本后手动查看该表,即使在插入后立即退出脚本,该表也是空的。请注意,手动运行脚本或SQL导入文件不会导致任何错误 我找不到关于这个问题的任何信息。我希望有人能回答。提前谢谢 PHP phpMyAdmin导出 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET A

我正在使用PDO::exec()从phpMyAdmin导出导入表,然后将数据插入其中一个表中。每次我尝试导入文件时,它似乎会截断插入后生成的表,因为插入后的select语句会正确显示行。但是,如果在运行脚本后手动查看该表,即使在插入后立即退出脚本,该表也是空的。请注意,手动运行脚本或SQL导入文件不会导致任何错误

我找不到关于这个问题的任何信息。我希望有人能回答。提前谢谢

PHP

phpMyAdmin导出

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `test`
--

-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `test`
--

CREATE TABLE `test` (
  `id` int(11) NOT NULL,
  `test1` int(11) NOT NULL,
  `test2` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Indexen voor geëxporteerde tabellen
--

--
-- Indexen voor tabel `test`
--
ALTER TABLE `test`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT voor geëxporteerde tabellen
--

--
-- AUTO_INCREMENT voor een tabel `test`
--
ALTER TABLE `test`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

因此,问题似乎是由行
SET AUTOCOMMIT=0引起的。我对MySQL没有足够的了解,不知道它到底做了什么,但没有它,一切似乎都能正常工作。

看看导出-它是否可能包含类似于
DROP TABLE
TRUNCATE
的内容?这对于从phpMyAdmin完全导出一个表来说是很常见的,“除非绝对需要,否则我不想在这里共享我的代码”。它是绝对需要的。@NicoHaase它不会在导出或代码中的任何位置删除或截断表。即使有,,插入操作是在脚本运行后完成的,这意味着它们的运行顺序不正确。编辑:在显示之前删除/更改代码的任何密码或访问详细信息或不相关的URIit@Martin我将尝试使用一个较小的脚本重新创建问题
AUTOCOMMIT=0
希望您最终发出
提交
。我在代码中没有看到这一点。
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `test`
--

-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `test`
--

CREATE TABLE `test` (
  `id` int(11) NOT NULL,
  `test1` int(11) NOT NULL,
  `test2` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Indexen voor geëxporteerde tabellen
--

--
-- Indexen voor tabel `test`
--
ALTER TABLE `test`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT voor geëxporteerde tabellen
--

--
-- AUTO_INCREMENT voor een tabel `test`
--
ALTER TABLE `test`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;