MySQL将失败记录插入另一个表

Posted

技术标签:

【中文标题】MySQL将失败记录插入另一个表【英文标题】:MySQL insert failure records into another table 【发布时间】:2022-01-02 20:12:30 【问题描述】:

我正在 mysql 中进行 db 数据迁移。

我有两个表 - 源 (T1) 和目标 (T2)。

我创建了一个插入忽略脚本来将数据从 T1 迁移到 T2。在脚本运行期间,某些记录可能已失败。所以我想在另一个表中捕获这些失败的记录并从中发布报告

通过存储过程,我能够捕获错误并插入到错误表中。

但是我要求不要使用存储过程,所以有没有其他方法可以捕获失败记录并插入到错误表中

提前致谢

【问题讨论】:

“但我问不要使用存储过程” ==> 作业?你有什么尝试解决这个问题?顺便说一句:为什么任何插入都会失败?这两个表的定义方式不同吗? 可能有数据问题正确,一些无效字符。仅仅定义表就意味着我们不会出错? 您总是会遇到诸如“磁盘已满”之类的错误,因此没有人能保证您不会收到错误...... 完全正确,捕捉此类错误只需要帮助。 您能否分享更多信息,例如为什么这个问题与Duplicating a MySQL table, indices, and data 不同? 【参考方案1】:

您可以登录 MySQL 并指定您的错误日志文件:

mysql -u user -p 2> errors.log

登录后,运行您拥有的命令,所有错误都将写入文件。

【讨论】:

以上是关于MySQL将失败记录插入另一个表的主要内容,如果未能解决你的问题,请参考以下文章

我想在另一个表上备份已删除的记录

查询失败时如何将 query_id 和 query_text 插入日志表

将 UTF-8 编码的字符串插入 UTF-8 编码的 mysql 表失败​​,并显示“字符串值不正确”

将图片插入Excel VBA,方法图片失败

无法将值插入表中,外键约束不断失败

MySQL插入数据因外键约束失败?