我正在导入一个相当大的数据库。.sql
文件中几乎有1,000,000行。问题是我在尝试导入数据库时遇到语法错误。上面写着:
第8428420行错误1064(42000):您的SQL语法中有错误;检查与您的MySQL server版本相对应的手册,以获得在“
致命错误:中超过600秒的最大执行时间”附近使用的正确语法
通常我会打开.sql文件并修复错误。但我的电脑真的很难打开这个文件。
在导入MySQL数据库时,有什么方法可以忽略错误吗?
在mysql导入中使用--force
(-f
)标志。MySQL将继续并将错误记录到控制台中,而不是停止错误语句。
例如:
mysql -u userName -p -f -D dbName < script.sql
问题内容: 我正在使用PHP。 请问什么是将新记录插入具有唯一字段的数据库的正确方法。我正在批量插入很多记录,我只想插入新记录,并且我不想重复条目有任何错误。 有没有唯一方法可以首先进行SELECT并查看条目是否在INSERT之前已经存在-并且仅在SELECT不返回任何记录时才插入INSERT?我希望不是。 我想以某种方式告诉MySQL忽略这些插入而没有任何错误。 谢谢 问题答案: 如果在重复记录
知道为什么在导出并再次导入后,调用sheet.rowiterator()时会忽略空行吗?
QueryList遵循将业务与错误分离的原则, HTTP请求传输过程中如果出现的错误,QueryList将会抛出异常。 QueryList的HTTP客户端基于GuzzleHttp,它提供了丰富的HTTP异常类型,用户可以自行设计根据不同的异常类型做不同的处理。 如果你觉得麻烦,并不想每次都去处理HTTP异常,选择直接忽略,让程序继续运行下去,做法可以参考下面方式: 对内置的get()进行封装: u
问题内容: 我正在使用Python 在mysql中运行查询 运行查询后,我想知道该行的主键。我知道有查询 但是我不确定它是否可以与插入忽略一起使用 做这个的最好方式是什么? 问题答案: 文档的说: 如果使用INSERT IGNORE并且忽略该行,则AUTO_INCREMENT计数器不会增加,并且LAST_INSERT_ID()返回0,这表明没有插入行。 知道了这一点,您可以将其分为多个步骤: 插入
问题内容: 但是,当我删除WHERE时,查询会停止使用该键(即使我明确地强制使用该键也是如此) 有什么解决方法吗? 我意识到我在第二个示例中选择了整个表,但是为什么mysql突然决定它还是要忽略我的FORCE而不使用键?没有密钥,查询大约需要10分钟。 问题答案: FORCE有点用词不当。这是MySQL文档所说的(重点是我的): 您还可以使用FORCE INDEX,其作用与USE INDEX(in