【发布时间】:2017-09-12 11:45:21
【问题描述】:
我想用 Java PrintWriter 模仿 phpMyAdmin 的 SQL 转储函数,到目前为止一切正常,但我没有看到“INSERT INTO”重复的模式。
例子:
INSERT INTO `table` (`value`) VALUES
(0),
(1),
... <-- 975 lines hidden
(977),
(978);
INSERT INTO `table` (`value`) VALUES
(979),
(981),
... <-- 948 lines hidden
(1929),
(1930);
INSERT INTO `table` (`value`) VALUES
(1931),
(1932),
... <-- 963 lines hidden
“INSERT INTO”语句之间的行数不同,但不同表的行数相同。
因为我的表格大小会定期增加,所以我需要确定要在我的代码中实现的数字。
回答
所以,感谢 Sloan Thrashers 的回答和 gitHub 上 phpMyAdmin 的源代码,我发现,sql 查询的最大长度默认设置为 50000。
我个人情况下的解决方案:
我使用一个变量来计算当前查询中到目前为止的字符数,当我达到 50000 时,我插入一个新的“INSERT INTO”查询。
现在我的每行 Java 生成的 .sql 文件与从 phpMyAdmin 的导出函数导出的文件完全相同,并且将通过比较文件检查。
【问题讨论】:
标签: mysql phpmyadmin