Java MySQL转储文件排除了几乎所有的Insert语句

Java MySQL转储文件排除了几乎所有的Insert语句,java,mysql,Java,Mysql,我使用MySQL创建了一个数据库,创建这个数据库的脚本创建了4个表,每个表都有多个insert语句 运行脚本后,将创建表,并且insert语句运行时不会出错 我运行了一个同样使用DB的Java应用程序,该应用程序运行得非常好,我可以看到已经添加了insert语句 但是,当我通过Windows CMD行创建转储文件时,CMD命令生成的sql文件只包含一条insert语句 每张桌子。为什么会发生这种情况?可以使用大容量插入,在一条语句中插入一个表中的所有行(多个值列表将显示在insert语句之后)。

我使用MySQL创建了一个数据库,创建这个数据库的脚本创建了4个表,每个表都有多个insert语句

运行脚本后,将创建表,并且insert语句运行时不会出错

我运行了一个同样使用DB的Java应用程序,该应用程序运行得非常好,我可以看到已经添加了insert语句

但是,当我通过Windows CMD行创建转储文件时,CMD命令生成的sql文件只包含一条insert语句
每张桌子。为什么会发生这种情况?

可以使用大容量插入,在一条语句中插入一个表中的所有行(多个值列表将显示在insert语句之后)。这取决于表的大小,或者索引和外键的数量,在转储和恢复时非常有效

我希望windows cmd行在默认情况下调用此选项(--extended insert或-e),而用于创建初始转储的任何内容都使用单行插入

您可以仔细检查windows命令行转储的输出,或者在这里粘贴一个摘录吗

或者,如果你只是跑步

 mysqldump your-database-name > your-dumpfile-name.sql
(即:无标志或选项)


然后您应该得到多个insert语句。

脚本是否正确?您可以使用一条insert语句插入多行。我怀疑MySQL在这里是错的。好吧,你是说转储文件生成的脚本可能是正确的,并且通过一行添加了所有insert语句,唯一的问题是insert语句都是唯一的,而不是彼此的副本。如果你还没有测试脚本,你不应该来这里声称这是错误的。好的,是的,你是对的,谢谢。这正是我所做的。但是我只是复制了insert语句,然后把它粘贴到其他地方,我所有的insert语句都是单独出现的,所以你们是对的,它一定是压缩了它。